]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson: store->get_attr return nodata, cancel following operations 45774/head
authorchunmei-liu <chunmei.liu@intel.com>
Tue, 5 Apr 2022 04:14:14 +0000 (21:14 -0700)
committerchunmei-liu <chunmei.liu@intel.com>
Tue, 5 Apr 2022 04:42:43 +0000 (21:42 -0700)
Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
src/crimson/osd/pg_backend.cc

index 6901528f9179e37e70758d6318ba96d0f68172e0..c6a74d2ec01248b28db6db38c7042a3690741ae1 100644 (file)
@@ -1024,7 +1024,15 @@ PGBackend::cmp_xattr_ierrorator::future<> PGBackend::cmp_xattr(
       osd_op.rval = 1;
       return cmp_xattr_ierrorator::now();
     }
-  });
+  }).handle_error_interruptible(
+    crimson::ct_error::enodata::handle([&delta_stats, &osd_op] ()
+      ->cmp_xattr_errorator::future<> {
+      delta_stats.num_rd++;
+      delta_stats.num_rd_kb += shift_round_up(osd_op.op.xattr.value_len, 10);
+      return crimson::ct_error::ecanceled::make();
+    }),
+    cmp_xattr_errorator::pass_further{}
+  );
 }
 
 PGBackend::rm_xattr_iertr::future<>