]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/test/librgw_file_marker.cc
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / test / librgw_file_marker.cc
index 9aaa6b3256b52ece726f4636a3e4e8f7f419954a..2475423fd468322b68a0b95eee0dcc340f255c59 100644 (file)
@@ -49,7 +49,7 @@ namespace {
 
   uint32_t create_mask = RGW_SETATTR_UID | RGW_SETATTR_GID | RGW_SETATTR_MODE;
 
-  string bucket_name("nfsroot");
+  string bucket_name("dmarker");
 
   class obj_rec
   {
@@ -150,7 +150,7 @@ namespace {
   string marker_dir("nfs_marker");
   struct rgw_file_handle *bucket_fh = nullptr;
   struct rgw_file_handle *marker_fh;
-  static constexpr int marker_nobjs = 2*1024;
+  uint32_t marker_nobjs = 2*1024;
   std::deque<obj_rec> marker_objs;
 
   using dirent_t = std::tuple<std::string, uint64_t>;
@@ -250,10 +250,11 @@ TEST(LibRGW, MARKER1_SETUP_OBJECTS)
 {
   /* "large" directory enumeration test.  this one deals only with
    * file objects */
+
   if (do_create) {
     int ret;
 
-    for (int ix = 0; ix < marker_nobjs; ++ix) {
+    for (uint32_t ix = 0; ix < marker_nobjs; ++ix) {
       std::string object_name("f_");
       object_name += to_string(ix);
       obj_rec obj{object_name, nullptr, marker_fh, nullptr};
@@ -277,6 +278,11 @@ TEST(LibRGW, MARKER1_SETUP_OBJECTS)
       // commit transaction (write on close)
       ret = rgw_close(fs, obj.fh, 0 /* flags */);
       ASSERT_EQ(ret, 0);
+      if (verbose) {
+       /* XXX std:cout fragged...did it get /0 in the stream
+        * somewhere? */
+       printf("created: %s:%s\n", bucket_name.c_str(), obj.name.c_str());
+      }
       // save for cleanup
       marker_objs.push_back(obj);
     }
@@ -289,21 +295,14 @@ extern "C" {
                    uint32_t flags) {
     dirent_vec& dvec =
       *(static_cast<dirent_vec*>(arg));
-    lsubdout(cct, rgw, 10) << __func__
-                          << " bucket=" << bucket_name
-                          << " dir=" << marker_dir
-                          << " iv count=" << dvec.count
-                          << " called back name=" << name
-                          << " flags=" << flags
-                          << dendl;
-
-  std::cout << __func__
-                          << " bucket=" << bucket_name
-                          << " dir=" << marker_dir
-                          << " iv count=" << dvec.count
-                          << " called back name=" << name
-                          << " flags=" << flags
-                          << std::endl;
+
+    printf("%s bucket=%s dir=%s iv count=%d called back name=%s flags=%d\n",
+          __func__,
+          bucket_name.c_str(),
+          marker_dir.c_str(),
+          dvec.count,
+          name,
+          flags);
 
     string name_str{name};
     if (! ((name_str == ".") ||
@@ -335,6 +334,7 @@ TEST(LibRGW, MARKER1_READDIR)
       int ret = rgw_readdir(fs, marker_fh, &offset, r2_cb, &dvec, &eof,
                            RGW_READDIR_FLAG_DOTDOT);
       ASSERT_EQ(ret, 0);
+      ASSERT_GE(dvec.obj_names.size(), 0);
       ASSERT_EQ(offset, get<1>(dvec.obj_names.back())); // cookie check
       ++dvec.count;
     } while(!eof);
@@ -364,8 +364,9 @@ TEST(LibRGW, MARKER2_READDIR)
       int ret = rgw_readdir2(fs, marker_fh,
                             (marker.length() > 0) ? marker.c_str() : nullptr,
                             r2_cb, &dvec, &eof,
-                            RGW_READDIR_FLAG_DOTDOT);
+                            RGW_READDIR_FLAG_NONE);
       ASSERT_EQ(ret, 0);
+      ASSERT_GE(dvec.obj_names.size(), 0);
       marker = get<0>(dvec.obj_names.back());
       ++dvec.count;
     } while((!eof) && dvec.count < 4);
@@ -460,6 +461,9 @@ int main(int argc, char *argv[])
     } else if (ceph_argparse_witharg(args, arg_iter, &val, "--gid",
                                     (char*) nullptr)) {
       owner_gid = std::stoi(val);
+    } else if (ceph_argparse_witharg(args, arg_iter, &val, "--nobjs",
+                                    (char*) nullptr)) {
+      marker_nobjs = std::stoi(val);
     } else if (ceph_argparse_flag(args, arg_iter, "--marker1",
                                            (char*) nullptr)) {
       do_marker1 = true;