]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
libceph: define ceph_pg_pool_name_by_id()
authorAlex Elder <elder@inktank.com>
Wed, 31 Oct 2012 00:40:33 +0000 (19:40 -0500)
committerAlex Elder <elder@inktank.com>
Thu, 1 Nov 2012 12:55:42 +0000 (07:55 -0500)
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>
include/linux/ceph/osdmap.h
net/ceph/osdmap.c

index e88a620b9f8aae964e6d60a625f313d301476575..5ea57ba69320ad2852bd8e4bf0403c1c2c072f49 100644 (file)
@@ -123,6 +123,7 @@ extern int ceph_calc_pg_acting(struct ceph_osdmap *osdmap, struct ceph_pg pgid,
 extern int ceph_calc_pg_primary(struct ceph_osdmap *osdmap,
                                struct ceph_pg pgid);
 
+extern const char *ceph_pg_pool_name_by_id(struct ceph_osdmap *map, u64 id);
 extern int ceph_pg_poolid_by_name(struct ceph_osdmap *map, const char *name);
 
 #endif
index f552aa48fd9eb05a554b40c135cb90e55b6bf367..de73214b5d26c04989905bafc62bd9c056f2131c 100644 (file)
@@ -469,6 +469,22 @@ static struct ceph_pg_pool_info *__lookup_pg_pool(struct rb_root *root, int id)
        return NULL;
 }
 
+const char *ceph_pg_pool_name_by_id(struct ceph_osdmap *map, u64 id)
+{
+       struct ceph_pg_pool_info *pi;
+
+       if (id == CEPH_NOPOOL)
+               return NULL;
+
+       if (WARN_ON_ONCE(id > (u64) INT_MAX))
+               return NULL;
+
+       pi = __lookup_pg_pool(&map->pg_pools, (int) id);
+
+       return pi ? pi->name : NULL;
+}
+EXPORT_SYMBOL(ceph_pg_pool_name_by_id);
+
 int ceph_pg_poolid_by_name(struct ceph_osdmap *map, const char *name)
 {
        struct rb_node *rbp;