]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librados: C bindings for get_pool_name()
authorSage Weil <sage@newdream.net>
Tue, 17 Apr 2012 04:32:33 +0000 (21:32 -0700)
committerSage Weil <sage@newdream.net>
Tue, 17 Apr 2012 04:32:33 +0000 (21:32 -0700)
Signed-off-by: Sage Weil <sage@newdream.net>
src/include/rados/librados.h
src/librados/librados.cc

index d28813a965268da0fceeb1876516a066a365318e..fe6e17109517f5db68c4caff47be54325264325f 100644 (file)
@@ -83,7 +83,7 @@ typedef void *rados_config_t;
  * - snapshot context for writes (see
  *   rados_ioctx_selfmanaged_snap_set_write_ctx())
  * - snapshot id to read from (see rados_ioctx_snap_set_read())
- * - object locator for all single-object operations (see
+ * - object locator for all single-object operation28e61811dc3dccd922bd0b30cf614c2768e7d6d0s (see
  *   rados_ioctx_locator_set_key())
  *
  * @warning changing any of these settings is not thread-safe -
@@ -549,6 +549,16 @@ int rados_ioctx_pool_get_auid(rados_ioctx_t io, uint64_t *auid);
  */
 int64_t rados_ioctx_get_id(rados_ioctx_t io);
 
+/**
+ * Get the pool name of the io context
+ *
+ * @param io the io context to query
+ * @param buf pointer to buffer where name will be stored
+ * @param maxlen size of buffer where name will be stored
+ * @returns length of string stored, or -ERANGE if buffer to small
+ */
+int rados_ioctx_get_pool_name(rados_ioctx_t io, char *buf, unsigned maxlen);
+
 /** @} pools */
 
 /**
index a2db21c448fdf73cd518be916dad105663cd8081..0505842874aa1c2a4f74a197a9f7776e6ae29d4d 100644 (file)
@@ -1628,6 +1628,16 @@ extern "C" int64_t rados_ioctx_get_id(rados_ioctx_t io)
   librados::IoCtxImpl *ctx = (librados::IoCtxImpl *)io;
   return ctx->get_id();
 }
+
+extern "C" int rados_ioctx_get_pool_name(rados_ioctx_t io, char *s, unsigned maxlen)
+{
+  librados::IoCtxImpl *ctx = (librados::IoCtxImpl *)io;
+  if (ctx->pool_name.length() >= maxlen)
+    return -ERANGE;
+  strcpy(s, ctx->pool_name.c_str());
+  return ctx->pool_name.length();
+}
+
 // snaps
 
 extern "C" int rados_ioctx_snap_create(rados_ioctx_t io, const char *snapname)