]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
osd/PrimaryLogPG: do_osd_ops - propagate EAGAIN/EINPROGRESS on failok
authorxie xingguo <xie.xingguo@zte.com.cn>
Thu, 24 Aug 2017 08:41:00 +0000 (16:41 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Thu, 24 Aug 2017 08:56:29 +0000 (16:56 +0800)
These are not really errors and ignoring these error codes can
cause potential problems.

Propagating these errors to high-level callers such as execute_ctx()
where they can be taken good care of should instead be the preferred
option.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/osd/PrimaryLogPG.cc

index ac3db593e67228d096dc55ea68c595070caf04ee..e984ab9ae76a9d4202bb71f51283f425709d4fc9 100644 (file)
@@ -6765,7 +6765,8 @@ int PrimaryLogPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
   fail:
     osd_op.rval = result;
     tracepoint(osd, do_osd_op_post, soid.oid.name.c_str(), soid.snap.val, op.op, ceph_osd_op_name(op.op), op.flags, result);
-    if (result < 0 && (op.flags & CEPH_OSD_OP_FLAG_FAILOK))
+    if (result < 0 && (op.flags & CEPH_OSD_OP_FLAG_FAILOK) &&
+        result != -EAGAIN && result != -EINPROGRESS)
       result = 0;
 
     if (result < 0)