From: Radoslaw Zarzynski Date: Sun, 25 Oct 2015 13:16:05 +0000 (+0100) Subject: rgw: enable chunking in Bulk Delete API implementation. X-Git-Tag: v10.0.2~36^2~15 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c421037f5adfdbede46a4a226f9cfd5314c7ecaa;p=ceph.git rgw: enable chunking in Bulk Delete API implementation. Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/rgw/rgw_op.h b/src/rgw/rgw_op.h index cc3967500ab..78776ffe650 100644 --- a/src/rgw/rgw_op.h +++ b/src/rgw/rgw_op.h @@ -1143,6 +1143,8 @@ public: }; /* End of Deleter subclass */ + static const size_t MAX_CHUNK_ENTRIES = 1024; + protected: int ret; std::unique_ptr deleter; diff --git a/src/rgw/rgw_rest_swift.cc b/src/rgw/rgw_rest_swift.cc index 70658dee431..96afdea86c8 100644 --- a/src/rgw/rgw_rest_swift.cc +++ b/src/rgw/rgw_rest_swift.cc @@ -963,6 +963,11 @@ int RGWBulkDelete_ObjStore_SWIFT::get_data(list& ite path.obj_key = path_str.substr(sep_pos + 1); items.push_back(path); + + if (items.size() == MAX_CHUNK_ENTRIES) { + is_truncated = true; + return 0; + } } *is_truncated = false;