]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc/Objecter: set SUPPORTSPOOLEIO flag on all ops
authorSage Weil <sage@newdream.net>
Wed, 15 Sep 2021 23:12:04 +0000 (19:12 -0400)
committerSage Weil <sage@newdream.net>
Mon, 27 Sep 2021 17:20:31 +0000 (13:20 -0400)
This tells us the client understands the pool EIO flag, without having to
burn a feature bit.

Signed-off-by: Sage Weil <sage@newdream.net>
src/include/rados.h
src/osd/osd_types.cc
src/osdc/Objecter.cc

index faaa053d0ab714cd850552b6d7772961e9f36881..ae4ab59de8f5b26d2f74df4395251e17c3d6aafb 100644 (file)
@@ -476,6 +476,7 @@ enum {
        CEPH_OSD_FLAG_FULL_FORCE = 0x1000000,  /* force op despite full flag */
        CEPH_OSD_FLAG_IGNORE_REDIRECT = 0x2000000,  /* ignore redirection */
        CEPH_OSD_FLAG_RETURNVEC = 0x4000000, /* allow overall result >= 0, and return >= 0 and buffer for each op in opvec */
+       CEPH_OSD_FLAG_SUPPORTSPOOLEIO = 0x8000000,   /* client understands pool EIO flag */
 };
 
 enum {
index bdcd47b6263940df27da0cf7d4a057ecfa848289..4e1a9b6b8ae3ea9dc23c347afca3cccee71a8aa0 100644 (file)
@@ -92,6 +92,7 @@ const char *ceph_osd_flag_name(unsigned flag)
   case CEPH_OSD_FLAG_FULL_FORCE: return "full_force";
   case CEPH_OSD_FLAG_IGNORE_REDIRECT: return "ignore_redirect";
   case CEPH_OSD_FLAG_RETURNVEC: return "returnvec";
+  case CEPH_OSD_FLAG_SUPPORTSPOOLEIO: return "supports_pool_eio";
   default: return "???";
   }
 }
index e158ce9d495268528061eb9728a27774de78424e..0050489d663de965318bbb1779795d424951f425 100644 (file)
@@ -3181,6 +3181,7 @@ Objecter::MOSDOp *Objecter::_prepare_osd_op(Op *op)
 
   int flags = op->target.flags;
   flags |= CEPH_OSD_FLAG_KNOWN_REDIR;
+  flags |= CEPH_OSD_FLAG_SUPPORTSPOOLEIO;
 
   // Nothing checks this any longer, but needed for compatibility with
   // pre-luminous osds