]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cls/rgw: if trimmed any entries don't return -ENODATA
authorYehuda Sadeh <yehuda@redhat.com>
Fri, 9 Mar 2018 19:32:42 +0000 (11:32 -0800)
committerYehuda Sadeh <yehuda@redhat.com>
Fri, 9 Mar 2018 19:38:48 +0000 (11:38 -0800)
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
src/cls/rgw/cls_rgw.cc

index 0d5d36736e997fb3b75197ae97b9865f29762964..9eb3e88548b7f9b8b0cfb2fdeef607d20c622225 100644 (file)
@@ -3042,6 +3042,10 @@ int rgw_user_usage_log_read(cls_method_context_t hctx, bufferlist *in, bufferlis
 
 static int usage_log_trim_cb(cls_method_context_t hctx, const string& key, rgw_usage_log_entry& entry, void *param)
 {
+  bool *found = (bool *)param;
+  if (found) {
+    *found = true;
+  }
   string key_by_time;
   string key_by_user;
 
@@ -3077,12 +3081,13 @@ int rgw_user_usage_log_trim(cls_method_context_t hctx, bufferlist *in, bufferlis
 
   string iter;
   bool more;
+  bool found = false;
 #define MAX_USAGE_TRIM_ENTRIES 128
-  ret = usage_iterate_range(hctx, op.start_epoch, op.end_epoch, op.user, iter, MAX_USAGE_TRIM_ENTRIES, &more, usage_log_trim_cb, NULL);
+  ret = usage_iterate_range(hctx, op.start_epoch, op.end_epoch, op.user, iter, MAX_USAGE_TRIM_ENTRIES, &more, usage_log_trim_cb, (void *)&found);
   if (ret < 0)
     return ret;
 
-  if (!more)
+  if (!more && !found)
     return -ENODATA;
 
   return 0;