]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd: allow CLS call after delete in op list
authorKautilya Tripathi <kautilya.tripathi@ibm.com>
Mon, 16 Feb 2026 03:34:41 +0000 (09:04 +0530)
committerKautilya Tripathi <kautilya.tripathi@ibm.com>
Mon, 6 Apr 2026 04:55:21 +0000 (10:25 +0530)
Avoid returning -ENOENT early for read-only CLS methods when a prior op
in the same compound request makes the object non-existent in memory.
This restores classic-like compound op semantics without
client-specific op reordering.

Signed-off-by: Kautilya Tripathi <kautilya.tripathi@ibm.com>
src/crimson/osd/ops_executer.cc

index 082c12ca92b7810d9698cfa9df4f0d19810105ff..343b93b2dbca0f703c7d74da0f36e2b6dcdb2bd8 100644 (file)
@@ -78,15 +78,10 @@ OpsExecuter::call_ierrorator::future<> OpsExecuter::do_op_call(OSDOp& osd_op)
   }
 
   const auto flags = method->get_flags();
-  if (!obc->obs.exists && (flags & CLS_METHOD_WR) == 0) {
-    return crimson::ct_error::enoent::make();
-  }
 
-#if 0
   if (flags & CLS_METHOD_WR) {
-    ctx->user_modify = true;
+    check_init_op_params(modified_by::user);
   }
-#endif
 
   logger().debug("calling method {}.{}, num_read={}, num_write={}",
                  cname, mname, num_read, num_write);