diff mbox

[4/6] libceph: define ceph_pg_pool_name_by_id()

Message ID 509083AF.1000000@inktank.com (mailing list archive)
State New, archived
Headers show

Commit Message

Alex Elder Oct. 31, 2012, 1:49 a.m. UTC
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>
---
 include/linux/ceph/osdmap.h |    1 +
 net/ceph/osdmap.c           |   16 ++++++++++++++++
 2 files changed, 17 insertions(+)

 	struct rb_node *rbp;

Comments

Josh Durgin Nov. 1, 2012, 1:34 a.m. UTC | #1
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>

On 10/30/2012 06:49 PM, Alex Elder wrote:
> 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>
> ---
>   include/linux/ceph/osdmap.h |    1 +
>   net/ceph/osdmap.c           |   16 ++++++++++++++++
>   2 files changed, 17 insertions(+)
>
> diff --git a/include/linux/ceph/osdmap.h b/include/linux/ceph/osdmap.h
> index e88a620..5ea57ba 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,
>   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
> diff --git a/net/ceph/osdmap.c b/net/ceph/osdmap.c
> index f552aa4..de73214 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)
>   	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;
>

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/include/linux/ceph/osdmap.h b/include/linux/ceph/osdmap.h
index e88a620..5ea57ba 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,
 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
diff --git a/net/ceph/osdmap.c b/net/ceph/osdmap.c
index f552aa4..de73214 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)
 	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)
 {