aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ceph/osdmap.h
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-02-23 13:38:16 -0500
committerSage Weil <sage@inktank.com>2013-02-26 18:01:57 -0500
commit5b191d9914eb68257f47de9d5bfe099b77f0687c (patch)
tree2465631736897b02dd16de136ef5b69dadb943f1 /include/linux/ceph/osdmap.h
parent12979354a1d6ef25d86f381e4d5f9e103f29913a (diff)
libceph: decode into cpu-native ceph_pg type
Always decode data into our cpu-native ceph_pg type that has the correct field widths. Limit any remaining uses of ceph_pg_v1 to dealing with the legacy protocol. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Alex Elder <elder@inktank.com>
Diffstat (limited to 'include/linux/ceph/osdmap.h')
-rw-r--r--include/linux/ceph/osdmap.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/include/linux/ceph/osdmap.h b/include/linux/ceph/osdmap.h
index eb4989aa48e8..8a612df4c248 100644
--- a/include/linux/ceph/osdmap.h
+++ b/include/linux/ceph/osdmap.h
@@ -18,6 +18,11 @@
18 * The map can be updated either via an incremental map (diff) describing 18 * The map can be updated either via an incremental map (diff) describing
19 * the change between two successive epochs, or as a fully encoded map. 19 * the change between two successive epochs, or as a fully encoded map.
20 */ 20 */
21struct ceph_pg {
22 uint64_t pool;
23 uint32_t seed;
24};
25
21struct ceph_pg_pool_info { 26struct ceph_pg_pool_info {
22 struct rb_node node; 27 struct rb_node node;
23 int id; 28 int id;
@@ -28,7 +33,7 @@ struct ceph_pg_pool_info {
28 33
29struct ceph_pg_mapping { 34struct ceph_pg_mapping {
30 struct rb_node node; 35 struct rb_node node;
31 struct ceph_pg_v1 pgid; 36 struct ceph_pg pgid;
32 int len; 37 int len;
33 int osds[]; 38 int osds[];
34}; 39};
@@ -119,10 +124,10 @@ extern int ceph_calc_object_layout(struct ceph_object_layout *ol,
119 struct ceph_file_layout *fl, 124 struct ceph_file_layout *fl,
120 struct ceph_osdmap *osdmap); 125 struct ceph_osdmap *osdmap);
121extern int ceph_calc_pg_acting(struct ceph_osdmap *osdmap, 126extern int ceph_calc_pg_acting(struct ceph_osdmap *osdmap,
122 struct ceph_pg_v1 pgid, 127 struct ceph_pg pgid,
123 int *acting); 128 int *acting);
124extern int ceph_calc_pg_primary(struct ceph_osdmap *osdmap, 129extern int ceph_calc_pg_primary(struct ceph_osdmap *osdmap,
125 struct ceph_pg_v1 pgid); 130 struct ceph_pg pgid);
126 131
127extern const char *ceph_pg_pool_name_by_id(struct ceph_osdmap *map, u64 id); 132extern const char *ceph_pg_pool_name_by_id(struct ceph_osdmap *map, u64 id);
128extern int ceph_pg_poolid_by_name(struct ceph_osdmap *map, const char *name); 133extern int ceph_pg_poolid_by_name(struct ceph_osdmap *map, const char *name);