]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix inverted MFA check in DeleteMultiObj
authorSun Yuechi <sunyuechi@iscas.ac.cn>
Tue, 30 Jun 2026 06:44:56 +0000 (14:44 +0800)
committerSun Yuechi <sunyuechi@iscas.ac.cn>
Wed, 1 Jul 2026 12:17:09 +0000 (20:17 +0800)
A versioned delete carries a non-empty version-id, but the MFA guard
flagged the empty case: versioned deletes bypassed MFA while plain
deletes wrongly required it. Test !instance.empty().

Fixes: https://tracker.ceph.com/issues/77869
Signed-off-by: Sun Yuechi <sunyuechi@iscas.ac.cn>
src/rgw/rgw_op.cc

index bfcb0ea6df1f0647d5b944fbcc47b0099e2ee55f..43c2fc309636b1fd082f4b5163188b0a7215eac4 100644 (file)
@@ -8358,7 +8358,7 @@ void RGWDeleteMultiObj::execute(optional_yield y)
     bool has_versioned = false;
     for (auto object : multi_delete->objects) {
       const string& instance = object.get_version_id();
-      if (instance.empty()) {
+      if (!instance.empty()) {
         has_versioned = true;
         break;
       }