]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
testradospp: update for new librados API
authorJosh Durgin <josh.durgin@dreamhost.com>
Sat, 26 Feb 2011 00:26:51 +0000 (16:26 -0800)
committerJosh Durgin <josh.durgin@dreamhost.com>
Sat, 26 Feb 2011 00:27:07 +0000 (16:27 -0800)
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
src/testradospp.cc

index 253f8ccfc44cd9ab247240b2bd14ffc77143bf4b..266acec2888e0486eda718423400e53f82a18f29 100644 (file)
@@ -56,7 +56,7 @@ int main(int argc, const char **argv)
     printf("error: succeeded in setting nonexistent config option\n");
     exit(1);
   }
-  if (rados.conf_set(cl, "log to stderr", "2")) {
+  if (rados.conf_set("log to stderr", "2")) {
     printf("error: error setting log_to_stderr\n");
     exit(1);
   }
@@ -92,113 +92,101 @@ int main(int argc, const char **argv)
   const char *oid = "bar";
 
   PoolHandle pool;
-  int r = rados.pool_open("data", &pool);
-  cout << "open pool result = " << r << " pool = " << pool << std::endl;
+  int r = rados.pool_open("data", pool);
+  cout << "pool_open result = " << r << std::endl;
 
-  r = rados.write(pool, oid, 0, bl, bl.length());
-  uint64_t objver = rados.get_last_version(pool);
-  cout << "rados.write returned " << r << " last_ver=" << objver << std::endl;
+  r = pool.write(oid, bl, bl.length(), 0);
+  uint64_t objver = pool.get_last_version();
+  cout << "pool.write returned " << r << " last_ver=" << objver << std::endl;
 
   uint64_t handle;
   C_Watch wc;
-  r = rados.watch(pool, oid, objver, &handle, &wc);
-  cout << "rados.watch returned " << r << std::endl;
+  r = pool.watch(oid, objver, &handle, &wc);
+  cout << "pool.watch returned " << r << std::endl;
 
   cout << "*** press enter to continue ***" << std::endl;
   getchar();
-  rados.set_notify_timeout(pool, 7);
-  r = rados.notify(pool, oid, objver);
-  cout << "rados.notify returned " << r << std::endl;
+  pool.set_notify_timeout(7);
+  r = pool.notify(oid, objver);
+  cout << "pool.notify returned " << r << std::endl;
   cout << "*** press enter to continue ***" << std::endl;
   getchar();
 
-  r = rados.notify(pool, oid, objver);
-  cout << "rados.notify returned " << r << std::endl;
+  r = pool.notify(oid, objver);
+  cout << "pool.notify returned " << r << std::endl;
   cout << "*** press enter to continue ***" << std::endl;
   getchar();
 
-  r = rados.unwatch(pool, oid, handle);
-  cout << "rados.unwatch returned " << r << std::endl;
+  r = pool.unwatch(oid, handle);
+  cout << "pool.unwatch returned " << r << std::endl;
   cout << "*** press enter to continue ***" << std::endl;
   getchar();
 
-  r = rados.notify(pool, oid, objver);
-  cout << "rados.notify returned " << r << std::endl;
+  r = pool.notify(oid, objver);
+  cout << "pool.notify returned " << r << std::endl;
   cout << "*** press enter to continue ***" << std::endl;
   getchar();
-  rados.set_assert_version(pool, objver);
+  pool.set_assert_version(objver);
 
-  r = rados.write(pool, oid, 0, bl, bl.length() - 1);
-  cout << "rados.write returned " << r << std::endl;
+  r = pool.write(oid, bl, bl.length() - 1, 0);
+  cout << "pool.write returned " << r << std::endl;
 
   exit(0);
-  r = rados.write(pool, oid, 0, bl, bl.length() - 2);
-  cout << "rados.write returned " << r << std::endl;
-  r = rados.write(pool, oid, 0, bl, bl.length() - 3);
+  r = pool.write(oid, bl, bl.length() - 2, 0);
+  cout << "pool.write returned " << r << std::endl;
+  r = pool.write(oid, bl, bl.length() - 3, 0);
   cout << "rados.write returned " << r << std::endl;
-  r = rados.write_full(pool, oid, blf);
+  r = pool.write_full(oid, blf);
   cout << "rados.write_full returned " << r << std::endl;
-  r = rados.read(pool, oid, 0, bl, bl.length());
+  r = pool.read(oid, bl, bl.length(), 0);
   cout << "rados.read returned " << r << std::endl;
-  r = rados.trunc(pool, oid, 8);
+  r = pool.trunc(oid, 8);
   cout << "rados.trunc returned " << r << std::endl;
-  r = rados.read(pool, oid, 0, bl, bl.length());
+  r = pool.read(oid, bl, bl.length(), 0);
   cout << "rados.read returned " << r << std::endl;
-  r = rados.exec(pool, oid, "crypto", "md5", bl, bl2);
+  r = pool.exec(oid, "crypto", "md5", bl, bl2);
   cout << "exec returned " << r <<  " buf size=" << bl2.length() << std::endl;
   const unsigned char *md5 = (const unsigned char *)bl2.c_str();
   char md5_str[bl2.length()*2 + 1];
   buf_to_hex(md5, bl2.length(), md5_str);
   cout << "md5 result=" << md5_str << std::endl;
 
-  r = rados.exec(pool, oid, "crypto", "sha1", bl, bl2);
+  r = pool.exec(oid, "crypto", "sha1", bl, bl2);
   cout << "exec returned " << r << std::endl;
   const unsigned char *sha1 = (const unsigned char *)bl2.c_str();
   char sha1_str[bl2.length()*2 + 1];
   buf_to_hex(sha1, bl2.length(), sha1_str);
   cout << "sha1 result=" << sha1_str << std::endl;
 
-  r = rados.exec(pool, oid, "acl", "set", bl, bl2);
-  r = rados.exec(pool, oid, "acl", "get", bl, bl2);
+  r = pool.exec(oid, "acl", "set", bl, bl2);
+  r = pool.exec(oid, "acl", "get", bl, bl2);
   cout << "exec returned " << r << std::endl;
   if (bl2.length() > 0) {
     cout << "attr=" << bl2.c_str() << std::endl;
   }
 
-  int size = rados.read(pool, oid, 0, bl2, 128);
+  int size = pool.read(oid, bl2, 128, 0);
   cout << "read result=" << bl2.c_str() << std::endl;
   cout << "size=" << size << std::endl;
 
   const char *oid2 = "jjj10.rbd";
-  r = rados.exec(pool, oid2, "rbd", "snap_list", bl, bl2);
+  r = pool.exec(oid2, "rbd", "snap_list", bl, bl2);
   cout << "snap_list result=" << r << std::endl;
-  r = rados.exec(pool, oid2, "rbd", "snap_add", bl, bl2);
+  r = pool.exec(oid2, "rbd", "snap_add", bl, bl2);
   cout << "snap_add result=" << r << std::endl;
 
   if (r > 0) {
     char *s = bl2.c_str();
     for (int i=0; i<r; i++, s += strlen(s) + 1)
-      cout << s << endl;
+      cout << s << std::endl;
   }
 
-  Rados::ListCtx ctx;
-  rados.objects_list_open(pool, &ctx);
-  int entries;
-  do {
-    list<string> vec;
-    r = rados.objects_list_more(ctx, 2, vec);
-    entries = vec.size();
-    cout << "list result=" << r << " entries=" << entries << std::endl;
-    list<string>::iterator iter;
-    for (iter = vec.begin(); iter != vec.end(); ++iter) {
-      cout << *iter << std::endl;
-    }
-  } while (entries);
-  rados.objects_list_close(ctx);
-
-
+  for (ObjectIterator iter = pool.objects_begin();
+       iter != pool.objects_end(); iter++) {
+    cout << *iter << std::endl;
+  }
   map<string, bufferlist> attrset;
-  rados.getxattrs(pool, oid, attrset);
+  pool.getxattrs(oid, attrset);
 
   map<string, bufferlist>::iterator it;
   for (it = attrset.begin(); it != attrset.end(); ++it) {
@@ -206,9 +194,8 @@ int main(int argc, const char **argv)
   }
   
 #if 0
-  r = rados.remove(pool, oid);
+  r = pool.remove(oid);
   cout << "remove result=" << r << std::endl;
-  rados.close_pool(pool);
 #endif
   rados.shutdown();