]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librados: move librados.h to include/
authorSage Weil <sage@newdream.net>
Thu, 8 Apr 2010 16:54:18 +0000 (09:54 -0700)
committerSage Weil <sage@newdream.net>
Thu, 8 Apr 2010 16:54:18 +0000 (09:54 -0700)
12 files changed:
src/Makefile.am
src/include/librados.h [new file with mode: 0644]
src/librados.cc
src/osdc/librados.h [deleted file]
src/osdc/rados_bencher.h
src/rados.cc
src/radosacl.cc
src/rbdtool.cc
src/rgw/rgw_rados.cc
src/rgw/rgw_rados.h
src/testrados.c
src/testradospp.cc

index bc4e393fee6d605450f0e70b7726142bf3ca3f60..8c014615395ea343fec34e10f108b86e3da7055a 100644 (file)
@@ -272,7 +272,7 @@ install-data-local:
        mkdir -p $(DESTDIR)$(includedir)/ceph
        $(install_sh_SCRIPT) -m 0644 client/libceph.h $(DESTDIR)$(includedir)/ceph/libceph.h
        mkdir -p $(DESTDIR)$(includedir)/rados
-       $(install_sh_SCRIPT) -m 0644 osdc/librados.h $(DESTDIR)$(includedir)/rados/librados.h
+       $(install_sh_SCRIPT) -m 0644 include/librados.h $(DESTDIR)$(includedir)/rados/librados.h
        mkdir -p $(DESTDIR)$(includedir)/crush
        $(install_sh_SCRIPT) -m 0644 crush/hash.h $(DESTDIR)$(includedir)/crush/hash.h
        $(install_sh_SCRIPT) -m 0644 crush/crush.h $(DESTDIR)$(includedir)/crush/crush.h
@@ -517,6 +517,7 @@ noinst_HEADERS = \
         include/intarith.h\
         include/interval_set.h\
         include/inttypes.h\
+       include/librados.h\
         include/lru.h\
        include/msgr.h\
         include/nstring.h\
@@ -722,7 +723,6 @@ noinst_HEADERS = \
         osd/RAID4PG.h\
         osd/ReplicatedPG.h\
         osd/osd_types.h\
-       osdc/librados.h\
        osdc/rados_bencher.h\
         osdc/Blinker.h\
         osdc/Filer.h\
diff --git a/src/include/librados.h b/src/include/librados.h
new file mode 100644 (file)
index 0000000..9f64dba
--- /dev/null
@@ -0,0 +1,168 @@
+#ifndef __LIBRADOS_H
+#define __LIBRADOS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <netinet/in.h>
+#include <linux/types.h>
+#include <string.h>
+
+/* initialization */
+int rados_initialize(int argc, const char **argv); /* arguments are optional */
+void rados_deinitialize();
+
+typedef void *rados_list_ctx_t;
+
+/* pools */
+typedef void *rados_pool_t;
+typedef long long unsigned rados_snap_t;
+
+struct rados_pool_stat_t {
+  long long unsigned num_bytes;    // in bytes
+  long long unsigned num_kb;       // in KB
+  long long unsigned num_objects;
+  long long unsigned num_object_clones;
+  long long unsigned num_object_copies;  // num_objects * num_replicas
+  long long unsigned num_objects_missing_on_primary;
+  long long unsigned num_objects_degraded;
+  long long unsigned num_rd, num_rd_kb,num_wr, num_wr_kb;
+};
+
+struct rados_statfs_t {
+  __u64 kb, kb_used, kb_avail;
+  __u64 num_objects;
+};
+
+int rados_open_pool(const char *name, rados_pool_t *pool);
+int rados_close_pool(rados_pool_t pool);
+void rados_set_snap(rados_pool_t pool, rados_snap_t snap);
+  /* After creating a new rados_list_ctx_t, call this to initialize it*/
+void rados_pool_init_ctx(rados_list_ctx_t *ctx);
+  /* Once you've finished with a rados_list_ctx_t, call before you dump it*/
+void rados_pool_close_ctx(rados_list_ctx_t *ctx);
+  /* Given a rados_list_ctx_t and its pool, get the next object in sequence*/
+int rados_pool_list_next(rados_pool_t pool, const char **entry, rados_list_ctx_t *ctx);
+
+int rados_create_pool(const char *name);
+int rados_create_pool_with_auid(const char *name, __u64 auid);
+int rados_delete_pool(const rados_pool_t pool);
+int rados_change_pool_auid(const rados_pool_t pool, __u64 auid);
+
+/* snapshots */
+int rados_snap_create(const rados_pool_t pool, const char *snapname);
+int rados_snap_remove(const rados_pool_t pool, const char *snapname);
+int rados_snap_list(rados_pool_t pool, rados_snap_t *snaps, int maxlen);
+int rados_snap_lookup(rados_pool_t pool, const char *name, rados_snap_t *id);
+int rados_snap_get_name(rados_pool_t pool, rados_snap_t id, char *name, int maxlen);
+
+/* read/write objects */
+int rados_write(rados_pool_t pool, const char *oid, off_t off, const char *buf, size_t len);
+int rados_read(rados_pool_t pool, const char *oid, off_t off, char *buf, size_t len);
+int rados_remove(rados_pool_t pool, const char *oid);
+int rados_getxattr(rados_pool_t pool, const char *o, const char *name, char *buf, size_t len);
+int rados_setxattr(rados_pool_t pool, const char *o, const char *name, const char *buf, size_t len);
+int rados_stat(rados_pool_t pool, const char *o, __u64 *psize, time_t *pmtime);
+int rados_tmap_update(rados_pool_t pool, const char *o, const char *cmdbuf, size_t cmdbuflen);
+int rados_exec(rados_pool_t pool, const char *oid, const char *cls, const char *method,
+              const char *in_buf, size_t in_len, char *buf, size_t out_len);
+
+/* async io */
+typedef void *rados_completion_t;
+typedef void (*rados_callback_t)(rados_completion_t cb, void *arg);
+
+int rados_aio_set_callback(rados_completion_t c, rados_callback_t, void *arg);
+int rados_aio_wait_for_complete(rados_completion_t c);
+int rados_aio_wait_for_safe(rados_completion_t c);
+int rados_aio_is_complete(rados_completion_t c);
+int rados_aio_is_safe(rados_completion_t c);
+int rados_aio_get_return_value(rados_completion_t c);
+void rados_aio_release(rados_completion_t c);
+
+int rados_aio_write(rados_pool_t pool, const char *oid, off_t off, const char *buf, size_t len, rados_completion_t *completion);
+int rados_aio_read(rados_pool_t pool, const char *oid, off_t off, char *buf, size_t len, rados_completion_t *completion);
+
+#ifdef __cplusplus
+}
+
+#include "include/types.h"
+#include <stdbool.h>
+
+class RadosClient;
+
+class Rados
+{
+  RadosClient *client;
+public:
+  Rados();
+  ~Rados();
+  int initialize(int argc, const char *argv[]);
+  void shutdown();
+
+  int open_pool(const char *name, rados_pool_t *pool);
+  int close_pool(rados_pool_t pool);
+
+  void set_snap(rados_pool_t pool, snapid_t seq);
+
+  int create(rados_pool_t pool, const object_t& oid, bool exclusive);
+
+  int write(rados_pool_t pool, const object_t& oid, off_t off, bufferlist& bl, size_t len);
+  int write_full(rados_pool_t pool, const object_t& oid, bufferlist& bl);
+  int read(rados_pool_t pool, const object_t& oid, off_t off, bufferlist& bl, size_t len);
+  int remove(rados_pool_t pool, const object_t& oid);
+
+  int getxattr(rados_pool_t pool, const object_t& oid, const char *name, bufferlist& bl);
+  int setxattr(rados_pool_t pool, const object_t& oid, const char *name, bufferlist& bl);
+  int getxattrs(rados_pool_t pool, const object_t& oid, map<nstring, bufferlist>& attrset);
+  int stat(rados_pool_t pool, const object_t& oid, __u64 *psize, time_t *pmtime);
+
+  int tmap_update(rados_pool_t pool, const object_t& oid, bufferlist& cmdbl);
+  
+  int exec(rados_pool_t pool, const object_t& oid, const char *cls, const char *method,
+          bufferlist& inbl, bufferlist& outbl);
+
+  struct ListCtx {
+    void *ctx;
+    ListCtx() : ctx(NULL) {}
+  };
+
+  int list(rados_pool_t pool, int max, std::list<object_t>& entries, Rados::ListCtx& ctx);
+  int list_pools(std::vector<std::string>& v);
+  int get_pool_stats(std::vector<std::string>& v,
+                    std::map<std::string,rados_pool_stat_t>& stats);
+  int get_fs_stats(rados_statfs_t& result);
+
+  int create_pool(const char *name, __u64 auid=0);
+  int delete_pool(const rados_pool_t& pool);
+  int change_pool_auid(const rados_pool_t& pool, __u64 auid);
+
+  int snap_create(const rados_pool_t pool, const char *snapname);
+  int snap_remove(const rados_pool_t pool, const char *snapname);
+  int snap_list(rados_pool_t pool, vector<rados_snap_t> *snaps);
+  int snap_get_name(rados_pool_t pool, rados_snap_t snap, std::string *name);
+  int snap_get_stamp(rados_pool_t pool, rados_snap_t snap, time_t *t);
+  int snap_lookup(rados_pool_t, const char *snapname, rados_snap_t *snapid);
+
+  // -- aio --
+  struct AioCompletion {
+    void *pc;
+    AioCompletion(void *_pc) : pc(_pc) {}
+    int set_callback(rados_callback_t cb, void *cba);
+    int wait_for_complete();
+    int wait_for_safe();
+    bool is_complete();
+    bool is_safe();
+    int get_return_value();
+    void release();
+  };
+
+  int aio_read(rados_pool_t pool, const object_t& oid, off_t off, bufferlist *pbl, size_t len,
+              AioCompletion **pc);
+  int aio_write(rados_pool_t pool, const object_t& oid, off_t off, const bufferlist& bl, size_t len,
+               AioCompletion **pc);
+
+};
+#endif
+
+#endif
index e7f4cdc911ee838a9b28ea8437a4ed85cb30fd8a..4474614a9c0a17325272e7a8f6cc61d5c07f1dd5 100644 (file)
@@ -37,7 +37,7 @@ using namespace std;
 
 #include "osdc/Objecter.h"
 
-#include "osdc/librados.h"
+#include "include/librados.h"
 
 #define RADOS_LIST_MAX_ENTRIES 1024
 #define DOUT_SUBSYS rados
diff --git a/src/osdc/librados.h b/src/osdc/librados.h
deleted file mode 100644 (file)
index 9f64dba..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-#ifndef __LIBRADOS_H
-#define __LIBRADOS_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <netinet/in.h>
-#include <linux/types.h>
-#include <string.h>
-
-/* initialization */
-int rados_initialize(int argc, const char **argv); /* arguments are optional */
-void rados_deinitialize();
-
-typedef void *rados_list_ctx_t;
-
-/* pools */
-typedef void *rados_pool_t;
-typedef long long unsigned rados_snap_t;
-
-struct rados_pool_stat_t {
-  long long unsigned num_bytes;    // in bytes
-  long long unsigned num_kb;       // in KB
-  long long unsigned num_objects;
-  long long unsigned num_object_clones;
-  long long unsigned num_object_copies;  // num_objects * num_replicas
-  long long unsigned num_objects_missing_on_primary;
-  long long unsigned num_objects_degraded;
-  long long unsigned num_rd, num_rd_kb,num_wr, num_wr_kb;
-};
-
-struct rados_statfs_t {
-  __u64 kb, kb_used, kb_avail;
-  __u64 num_objects;
-};
-
-int rados_open_pool(const char *name, rados_pool_t *pool);
-int rados_close_pool(rados_pool_t pool);
-void rados_set_snap(rados_pool_t pool, rados_snap_t snap);
-  /* After creating a new rados_list_ctx_t, call this to initialize it*/
-void rados_pool_init_ctx(rados_list_ctx_t *ctx);
-  /* Once you've finished with a rados_list_ctx_t, call before you dump it*/
-void rados_pool_close_ctx(rados_list_ctx_t *ctx);
-  /* Given a rados_list_ctx_t and its pool, get the next object in sequence*/
-int rados_pool_list_next(rados_pool_t pool, const char **entry, rados_list_ctx_t *ctx);
-
-int rados_create_pool(const char *name);
-int rados_create_pool_with_auid(const char *name, __u64 auid);
-int rados_delete_pool(const rados_pool_t pool);
-int rados_change_pool_auid(const rados_pool_t pool, __u64 auid);
-
-/* snapshots */
-int rados_snap_create(const rados_pool_t pool, const char *snapname);
-int rados_snap_remove(const rados_pool_t pool, const char *snapname);
-int rados_snap_list(rados_pool_t pool, rados_snap_t *snaps, int maxlen);
-int rados_snap_lookup(rados_pool_t pool, const char *name, rados_snap_t *id);
-int rados_snap_get_name(rados_pool_t pool, rados_snap_t id, char *name, int maxlen);
-
-/* read/write objects */
-int rados_write(rados_pool_t pool, const char *oid, off_t off, const char *buf, size_t len);
-int rados_read(rados_pool_t pool, const char *oid, off_t off, char *buf, size_t len);
-int rados_remove(rados_pool_t pool, const char *oid);
-int rados_getxattr(rados_pool_t pool, const char *o, const char *name, char *buf, size_t len);
-int rados_setxattr(rados_pool_t pool, const char *o, const char *name, const char *buf, size_t len);
-int rados_stat(rados_pool_t pool, const char *o, __u64 *psize, time_t *pmtime);
-int rados_tmap_update(rados_pool_t pool, const char *o, const char *cmdbuf, size_t cmdbuflen);
-int rados_exec(rados_pool_t pool, const char *oid, const char *cls, const char *method,
-              const char *in_buf, size_t in_len, char *buf, size_t out_len);
-
-/* async io */
-typedef void *rados_completion_t;
-typedef void (*rados_callback_t)(rados_completion_t cb, void *arg);
-
-int rados_aio_set_callback(rados_completion_t c, rados_callback_t, void *arg);
-int rados_aio_wait_for_complete(rados_completion_t c);
-int rados_aio_wait_for_safe(rados_completion_t c);
-int rados_aio_is_complete(rados_completion_t c);
-int rados_aio_is_safe(rados_completion_t c);
-int rados_aio_get_return_value(rados_completion_t c);
-void rados_aio_release(rados_completion_t c);
-
-int rados_aio_write(rados_pool_t pool, const char *oid, off_t off, const char *buf, size_t len, rados_completion_t *completion);
-int rados_aio_read(rados_pool_t pool, const char *oid, off_t off, char *buf, size_t len, rados_completion_t *completion);
-
-#ifdef __cplusplus
-}
-
-#include "include/types.h"
-#include <stdbool.h>
-
-class RadosClient;
-
-class Rados
-{
-  RadosClient *client;
-public:
-  Rados();
-  ~Rados();
-  int initialize(int argc, const char *argv[]);
-  void shutdown();
-
-  int open_pool(const char *name, rados_pool_t *pool);
-  int close_pool(rados_pool_t pool);
-
-  void set_snap(rados_pool_t pool, snapid_t seq);
-
-  int create(rados_pool_t pool, const object_t& oid, bool exclusive);
-
-  int write(rados_pool_t pool, const object_t& oid, off_t off, bufferlist& bl, size_t len);
-  int write_full(rados_pool_t pool, const object_t& oid, bufferlist& bl);
-  int read(rados_pool_t pool, const object_t& oid, off_t off, bufferlist& bl, size_t len);
-  int remove(rados_pool_t pool, const object_t& oid);
-
-  int getxattr(rados_pool_t pool, const object_t& oid, const char *name, bufferlist& bl);
-  int setxattr(rados_pool_t pool, const object_t& oid, const char *name, bufferlist& bl);
-  int getxattrs(rados_pool_t pool, const object_t& oid, map<nstring, bufferlist>& attrset);
-  int stat(rados_pool_t pool, const object_t& oid, __u64 *psize, time_t *pmtime);
-
-  int tmap_update(rados_pool_t pool, const object_t& oid, bufferlist& cmdbl);
-  
-  int exec(rados_pool_t pool, const object_t& oid, const char *cls, const char *method,
-          bufferlist& inbl, bufferlist& outbl);
-
-  struct ListCtx {
-    void *ctx;
-    ListCtx() : ctx(NULL) {}
-  };
-
-  int list(rados_pool_t pool, int max, std::list<object_t>& entries, Rados::ListCtx& ctx);
-  int list_pools(std::vector<std::string>& v);
-  int get_pool_stats(std::vector<std::string>& v,
-                    std::map<std::string,rados_pool_stat_t>& stats);
-  int get_fs_stats(rados_statfs_t& result);
-
-  int create_pool(const char *name, __u64 auid=0);
-  int delete_pool(const rados_pool_t& pool);
-  int change_pool_auid(const rados_pool_t& pool, __u64 auid);
-
-  int snap_create(const rados_pool_t pool, const char *snapname);
-  int snap_remove(const rados_pool_t pool, const char *snapname);
-  int snap_list(rados_pool_t pool, vector<rados_snap_t> *snaps);
-  int snap_get_name(rados_pool_t pool, rados_snap_t snap, std::string *name);
-  int snap_get_stamp(rados_pool_t pool, rados_snap_t snap, time_t *t);
-  int snap_lookup(rados_pool_t, const char *snapname, rados_snap_t *snapid);
-
-  // -- aio --
-  struct AioCompletion {
-    void *pc;
-    AioCompletion(void *_pc) : pc(_pc) {}
-    int set_callback(rados_callback_t cb, void *cba);
-    int wait_for_complete();
-    int wait_for_safe();
-    bool is_complete();
-    bool is_safe();
-    int get_return_value();
-    void release();
-  };
-
-  int aio_read(rados_pool_t pool, const object_t& oid, off_t off, bufferlist *pbl, size_t len,
-              AioCompletion **pc);
-  int aio_write(rados_pool_t pool, const object_t& oid, off_t off, const bufferlist& bl, size_t len,
-               AioCompletion **pc);
-
-};
-#endif
-
-#endif
index fbbf2bafefa6cb4fea584a2f7c48f25bf92db984..56e215df8e86bffbc546f143c39f33c3f5db34d3 100644 (file)
@@ -14,7 +14,7 @@
  * try and bench on a pool you don't have permission to access
  * it will just loop forever.
  */
-#include "osdc/librados.h"
+#include "include/librados.h"
 #include "config.h"
 #include "common/common_init.h"
 #include "common/Cond.h"
index cee521519959ad20a717d527d1ad6548bba3c87e..fef6c7cb498c62bd4fde118f5d30b0dbdcc65a7a 100644 (file)
@@ -14,7 +14,7 @@
 
 #include "include/types.h"
 #include "osdc/rados_bencher.h"
-#include "osdc/librados.h"
+#include "include/librados.h"
 
 #include "config.h"
 #include "common/common_init.h"
index 92c2cf264548beb39577684bbed65b34e42ed08b..5d5dc710a5a229406c7a37f80a8cb11a6ed31315 100644 (file)
@@ -13,7 +13,7 @@
  */
 
 #include "include/types.h"
-#include "osdc/librados.h"
+#include "include/librados.h"
 
 #include <iostream>
 
index fa39eaee140f32ec6ebb98443acf269387ae303e..26e6ab4adab3b4f7fbc63a9b8902bd8300c1ef85 100644 (file)
@@ -15,7 +15,7 @@
 #include "config.h"
 
 #include "common/common_init.h"
-#include "osdc/librados.h"
+#include "include/librados.h"
 #include "include/byteorder.h"
 
 
index fb62e6b83bb7e0ab18c789b151f6bdf69c588c1d..95dde4aa64d6c32e9145fc5df215879887982d48 100644 (file)
@@ -4,7 +4,7 @@
 #include "rgw_access.h"
 #include "rgw_rados.h"
 
-#include "osdc/librados.h"
+#include "include/librados.h"
 
 #include <string>
 #include <iostream>
index d490558525433e3332820008324c4f8cf3b9d58f..e8eb67cfed07e4aeb610509c1b300d353bf6a170 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef __RGWRADOS_H
 #define __RGWRADOS_H
 
-#include "osdc/librados.h"
+#include "include/librados.h"
 #include "rgw_access.h"
 
 
index 9db257e53820716cd584d91799ac56b3fa6e2faf..6bc58c8f7e46eb1b572342872b56ca1c3b48ef81 100644 (file)
@@ -12,7 +12,7 @@
  * 
  */
 
-#include "osdc/librados.h"
+#include "include/librados.h"
 
 #include <stdio.h>
 #include <stdlib.h>
index be73d6c4540d86a1416961337f3fe9ed640496f1..e774f3ef452b8326b06b2f1178f4253f1ae7aca7 100644 (file)
@@ -13,7 +13,7 @@
  */
 
 #include "include/types.h"
-#include "osdc/librados.h"
+#include "include/librados.h"
 
 #include <iostream>