diff options
author | 2014-03-21 19:05:29 +0200 | |
---|---|---|
committer | 2014-04-04 21:07:58 -0700 | |
commit | 9686f94c8cfc06e8afb7b2233ab8f1f6ac01957f (patch) | |
tree | 3564192f1d42c7ac6caeafa0becd3bac88704538 /include/linux/ceph | |
parent | libceph: generalize ceph_pg_mapping (diff) | |
download | linux-9686f94c8cfc06e8afb7b2233ab8f1f6ac01957f.tar.gz linux-9686f94c8cfc06e8afb7b2233ab8f1f6ac01957f.tar.bz2 linux-9686f94c8cfc06e8afb7b2233ab8f1f6ac01957f.zip |
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')
-rw-r--r-- | include/linux/ceph/osdmap.h | 5 |
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; |