diff options
author | Alex Elder <elder@inktank.com> | 2012-10-30 20:40:33 -0400 |
---|---|---|
committer | Alex Elder <elder@inktank.com> | 2012-11-01 08:55:42 -0400 |
commit | 72afc71ffca0f444ee0e1ef8c7e34ab209bb48b3 (patch) | |
tree | c9849491d6f31db1ef1be5a8f7fe186c108830aa | |
parent | 86b00e0da6be7bbc16412f126c5b548ac5d91d50 (diff) |
libceph: define ceph_pg_pool_name_by_id()
Define and export function ceph_pg_pool_name_by_id() to supply
the name of a pg pool whose id is given. This will be used by
the next patch.
Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
-rw-r--r-- | include/linux/ceph/osdmap.h | 1 | ||||
-rw-r--r-- | net/ceph/osdmap.c | 16 |
2 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/ceph/osdmap.h b/include/linux/ceph/osdmap.h index e88a620b9f8a..5ea57ba69320 100644 --- a/include/linux/ceph/osdmap.h +++ b/include/linux/ceph/osdmap.h | |||
@@ -123,6 +123,7 @@ extern int ceph_calc_pg_acting(struct ceph_osdmap *osdmap, struct ceph_pg pgid, | |||
123 | extern int ceph_calc_pg_primary(struct ceph_osdmap *osdmap, | 123 | extern int ceph_calc_pg_primary(struct ceph_osdmap *osdmap, |
124 | struct ceph_pg pgid); | 124 | struct ceph_pg pgid); |
125 | 125 | ||
126 | extern const char *ceph_pg_pool_name_by_id(struct ceph_osdmap *map, u64 id); | ||
126 | extern int ceph_pg_poolid_by_name(struct ceph_osdmap *map, const char *name); | 127 | extern int ceph_pg_poolid_by_name(struct ceph_osdmap *map, const char *name); |
127 | 128 | ||
128 | #endif | 129 | #endif |
diff --git a/net/ceph/osdmap.c b/net/ceph/osdmap.c index f552aa48fd9e..de73214b5d26 100644 --- a/net/ceph/osdmap.c +++ b/net/ceph/osdmap.c | |||
@@ -469,6 +469,22 @@ static struct ceph_pg_pool_info *__lookup_pg_pool(struct rb_root *root, int id) | |||
469 | return NULL; | 469 | return NULL; |
470 | } | 470 | } |
471 | 471 | ||
472 | const char *ceph_pg_pool_name_by_id(struct ceph_osdmap *map, u64 id) | ||
473 | { | ||
474 | struct ceph_pg_pool_info *pi; | ||
475 | |||
476 | if (id == CEPH_NOPOOL) | ||
477 | return NULL; | ||
478 | |||
479 | if (WARN_ON_ONCE(id > (u64) INT_MAX)) | ||
480 | return NULL; | ||
481 | |||
482 | pi = __lookup_pg_pool(&map->pg_pools, (int) id); | ||
483 | |||
484 | return pi ? pi->name : NULL; | ||
485 | } | ||
486 | EXPORT_SYMBOL(ceph_pg_pool_name_by_id); | ||
487 | |||
472 | int ceph_pg_poolid_by_name(struct ceph_osdmap *map, const char *name) | 488 | int ceph_pg_poolid_by_name(struct ceph_osdmap *map, const char *name) |
473 | { | 489 | { |
474 | struct rb_node *rbp; | 490 | struct rb_node *rbp; |