]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc/Objecter: mark all ops as known-if-redirected 1935/head
authorGreg Farnum <greg@inktank.com>
Fri, 6 Jun 2014 20:45:49 +0000 (13:45 -0700)
committerGreg Farnum <greg@inktank.com>
Fri, 6 Jun 2014 20:45:49 +0000 (13:45 -0700)
Signed-off-by: Greg Farnum <greg@inktank.com>
src/include/rados.h
src/osd/osd_types.cc
src/osdc/Objecter.cc

index 5a2aeffefd04afc699197241c4e12963710b1b54..0c9791d9d565e5aba430ed10d899660fdd9d50a8 100644 (file)
@@ -377,6 +377,7 @@ enum {
        CEPH_OSD_FLAG_ENFORCE_SNAPC    =0x100000,  /* use snapc provided even if
                                                      pool uses pool snaps */
        CEPH_OSD_FLAG_REDIRECTED   = 0x200000,  /* op has been redirected */
+       CEPH_OSD_FLAG_KNOWN_REDIR = 0x400000,  /* redirect bit is authoritative */
 };
 
 enum {
index cfd98167195c88c91ca1a4ffdfd5e36d36576c0e..3fd1cf0ac35f1e0e4531aa6e45400cc906b8f4c8 100644 (file)
@@ -49,6 +49,7 @@ const char *ceph_osd_flag_name(unsigned flag)
   case CEPH_OSD_FLAG_MAP_SNAP_CLONE: return "map_snap_clone";
   case CEPH_OSD_FLAG_ENFORCE_SNAPC: return "enforce_snapc";
   case CEPH_OSD_FLAG_REDIRECTED: return "redirected";
+  case CEPH_OSD_FLAG_KNOWN_REDIR: return "known_if_redirected";
   default: return "???";
   }
 }
index f6a1efb74e56f584b57b875124868eb6ac09e7da..b454c66ebb16b4c46d04b7cc567c5434b7e4ed82 100644 (file)
@@ -1625,6 +1625,7 @@ void Objecter::send_op(Op *op)
   ldout(cct, 15) << "send_op " << op->tid << " to osd." << op->session->osd << dendl;
 
   int flags = op->target.flags;
+  flags |= CEPH_OSD_FLAG_KNOWN_REDIR;
   if (op->oncommit)
     flags |= CEPH_OSD_FLAG_ONDISK;
   if (op->onack)