cifs: fix noserverino handling when unix extensions are enabled
[safe/jmp/linux-2.6] / fs / ceph / osdmap.h
index 07127c6..970b547 100644 (file)
  * the change between two successive epochs, or as a fully encoded map.
  */
 struct ceph_pg_pool_info {
+       struct rb_node node;
+       int id;
        struct ceph_pg_pool v;
        int pg_num_mask, pgp_num_mask, lpg_num_mask, lpgp_num_mask;
+       char *name;
 };
 
 struct ceph_pg_mapping {
        struct rb_node node;
-       u64 pgid;
+       struct ceph_pg pgid;
        int len;
        int osds[];
 };
@@ -44,9 +47,8 @@ struct ceph_osdmap {
        struct ceph_entity_addr *osd_addr;
 
        struct rb_root pg_temp;
-
-       u32 num_pools;
-       struct ceph_pg_pool_info *pg_pool;
+       struct rb_root pg_pools;
+       u32 pool_max;
 
        /* the CRUSH map specifies the mapping of placement groups to
         * the list of osds that store+replicate them. */
@@ -118,6 +120,9 @@ extern int ceph_calc_object_layout(struct ceph_object_layout *ol,
                                   const char *oid,
                                   struct ceph_file_layout *fl,
                                   struct ceph_osdmap *osdmap);
-extern int ceph_calc_pg_primary(struct ceph_osdmap *osdmap, union ceph_pg pgid);
+extern int ceph_calc_pg_acting(struct ceph_osdmap *osdmap, struct ceph_pg pgid,
+                              int *acting);
+extern int ceph_calc_pg_primary(struct ceph_osdmap *osdmap,
+                               struct ceph_pg pgid);
 
 #endif