From 00aeae84ea279d1fcfc3778fa3aa85f3eb83d05e Mon Sep 17 00:00:00 2001 From: xie xingguo Date: Thu, 4 Aug 2016 06:36:15 +0800 Subject: [PATCH] osd: use osd_target_transaction_size when batch removing objects Hard code transaction size to be 300 is not good. Since we already introduce osd_target_transaction_size for the same purpose, we can use it directly here. Signed-off-by: xie xingguo --- src/osd/OSD.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 0d87eef45b8..616bb068bef 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -2954,7 +2954,7 @@ void OSD::recursive_remove_collection(ObjectStore *store, spg_t pgid, coll_t tmp INT_MAX, &objects, 0); // delete them. - unsigned removed = 0; + int removed = 0; for (vector::iterator p = objects.begin(); p != objects.end(); ++p, removed++) { @@ -2963,7 +2963,7 @@ void OSD::recursive_remove_collection(ObjectStore *store, spg_t pgid, coll_t tmp if (r != 0 && r != -ENOENT) assert(0); t.remove(tmp, *p); - if (removed > 300) { + if (removed > g_conf->osd_target_transaction_size) { int r = store->apply_transaction(osr.get(), std::move(t)); assert(r == 0); t = ObjectStore::Transaction(); -- 2.39.5