summaryrefslogtreecommitdiff
path: root/include/linux/ceph/osdmap.h
diff options
context:
space:
mode:
authorIlya Dryomov <ilya.dryomov@inktank.com>2014-03-21 21:05:29 +0400
committerSage Weil <sage@inktank.com>2014-04-05 08:07:58 +0400
commit9686f94c8cfc06e8afb7b2233ab8f1f6ac01957f (patch)
tree3564192f1d42c7ac6caeafa0becd3bac88704538 /include/linux/ceph/osdmap.h
parent35a935d75d51abe58d3427a8b4ae3745a5a14e1c (diff)
downloadlinux-9686f94c8cfc06e8afb7b2233ab8f1f6ac01957f.tar.xz
libceph: primary_temp infrastructure
Add primary_temp mappings infrastructure. struct ceph_pg_mapping is overloaded, primary_temp mappings are stored in an rb-tree, rooted at ceph_osdmap, in a manner similar to pg_temp mappings. Dump primary_temp mappings to /sys/kernel/debug/ceph/<client>/osdmap, one 'primary_temp <pgid> <osd>' per line, e.g: primary_temp 2.6 4 Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com> Reviewed-by: Alex Elder <elder@linaro.org>
Diffstat (limited to 'include/linux/ceph/osdmap.h')
-rw-r--r--include/linux/ceph/osdmap.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/ceph/osdmap.h b/include/linux/ceph/osdmap.h
index 4837e58e3203..db4fb6322aae 100644
--- a/include/linux/ceph/osdmap.h
+++ b/include/linux/ceph/osdmap.h
@@ -66,6 +66,9 @@ struct ceph_pg_mapping {
int len;
int osds[];
} pg_temp;
+ struct {
+ int osd;
+ } primary_temp;
};
};
@@ -83,6 +86,8 @@ struct ceph_osdmap {
struct ceph_entity_addr *osd_addr;
struct rb_root pg_temp;
+ struct rb_root primary_temp;
+
struct rb_root pg_pools;
u32 pool_max;