diff options
author | Ilya Dryomov <ilya.dryomov@inktank.com> | 2014-03-13 16:36:13 +0200 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2014-04-04 21:07:34 -0700 |
commit | 1c00240e007d14d3242fa490b50166b4f1b2770a (patch) | |
tree | 8f3ca874443a8a4c1d83fb26a64c3ec666b77cbf /net | |
parent | 0a2800d7280ccdf3194bd8bd74a2eb8c315b54c6 (diff) | |
download | linux-1c00240e007d14d3242fa490b50166b4f1b2770a.tar.gz linux-1c00240e007d14d3242fa490b50166b4f1b2770a.tar.bz2 linux-1c00240e007d14d3242fa490b50166b4f1b2770a.zip |
libceph: dump pg_temp mappings to debugfs
Dump pg_temp mappings to /sys/kernel/debug/ceph/<client>/osdmap,
one 'pg_temp <pgid> [<osd>, ..., <osd>]' per line, e.g:
pg_temp 2.6 [2,3,4]
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Reviewed-by: Alex Elder <elder@linaro.org>
Diffstat (limited to 'net')
-rw-r--r-- | net/ceph/debugfs.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/net/ceph/debugfs.c b/net/ceph/debugfs.c index 112d98edb156..c45d235e774e 100644 --- a/net/ceph/debugfs.c +++ b/net/ceph/debugfs.c @@ -82,6 +82,17 @@ static int osdmap_show(struct seq_file *s, void *p) ((map->osd_weight[i]*100) >> 16), ceph_osdmap_state_str(sb, sizeof(sb), state)); } + for (n = rb_first(&map->pg_temp); n; n = rb_next(n)) { + struct ceph_pg_mapping *pg = + rb_entry(n, struct ceph_pg_mapping, node); + + seq_printf(s, "pg_temp %llu.%x [", pg->pgid.pool, + pg->pgid.seed); + for (i = 0; i < pg->len; i++) + seq_printf(s, "%s%d", (i == 0 ? "" : ","), + pg->osds[i]); + seq_printf(s, "]\n"); + } return 0; } |