From 05666c3af2bf8c80787e7a5a91d31cbcccdf5052 Mon Sep 17 00:00:00 2001 From: xie xingguo Date: Thu, 24 Aug 2017 16:41:00 +0800 Subject: [PATCH] osd/PrimaryLogPG: do_osd_ops - propagate EAGAIN/EINPROGRESS on failok 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 --- src/osd/PrimaryLogPG.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index ac3db593e67..e984ab9ae76 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -6765,7 +6765,8 @@ int PrimaryLogPG::do_osd_ops(OpContext *ctx, vector& 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) -- 2.47.3