]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
client: crush mask bits
authorSage Weil <sage@newdream.net>
Sat, 15 Mar 2008 02:57:28 +0000 (19:57 -0700)
committerSage Weil <sage@newdream.net>
Sat, 15 Mar 2008 02:57:39 +0000 (19:57 -0700)
src/TODO
src/kernel/osd_client.c

index a86e35a3b850d16ab5fcbf552e94fb9642410e98..6f578f800754795b2b9d85877ceeff0cc220eb91 100644 (file)
--- a/src/TODO
+++ b/src/TODO
@@ -48,9 +48,6 @@ osdmon
 - bootstrap crush map
 
 crush
-- rule naming
- - would about a tuple of (type, minsize, maxsize, pool) for each rule?  then we'd do a 
-   quick 'search' to find the best rule given (pg_type, pg_size, pg_pool)...
 - xml import/export?
  - named storage "pools"?
  - generic rule definition
index 6f4d925e00e6cb310278720f3d60f542cf130e2b..4ddcf1c5a07bd6135b23662bf431b82e2ce2dd72 100644 (file)
@@ -203,8 +203,9 @@ static void send_request(struct ceph_osd_client *osdc, struct ceph_osd_request *
        ruleno = crush_find_rule(osdc->osdmap->crush, req->r_pgid.pg.pool, 
                                 req->r_pgid.pg.type, req->r_pgid.pg.size);
        BUG_ON(ruleno < 0);  /* fixme, need some proper error handling here */
+       dout(30, "using crush rule %d\n", ruleno);
        nr_osds = crush_do_rule(osdc->osdmap->crush, ruleno, 
-                               req->r_pgid.pg.ps, osds, 10
+                               req->r_pgid.pg.ps, osds, req->r_pgid.pg.size
                                req->r_pgid.pg.preferred);
        for (i=0; i<nr_osds; i++) {
                if (ceph_osd_is_up(osdc->osdmap, osds[i]))