From: Kefu Chai Date: Mon, 24 Aug 2020 11:06:11 +0000 (+0800) Subject: test/osd/RadosModel: check retval of read op X-Git-Tag: v16.1.0~1279^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8dd6d9151dd8b83626e415e2004de5ef00eac20b;p=ceph.git test/osd/RadosModel: check retval of read op * check racing read's return value * check if racing read completes Fixes: https://tracker.ceph.com/issues/47061 Signed-off-by: Kefu Chai --- diff --git a/src/test/osd/RadosModel.h b/src/test/osd/RadosModel.h index ae0efb373cdf..7612b69c1f49 100644 --- a/src/test/osd/RadosModel.h +++ b/src/test/osd/RadosModel.h @@ -755,6 +755,7 @@ public: ContDesc cont; set waiting; librados::AioCompletion *rcompletion = nullptr; + // numbers of async ops submitted uint64_t waiting_on = 0; uint64_t last_acked_tid = 0; @@ -1095,12 +1096,15 @@ public: } context->update_object_version(oid, version); + ceph_assert(rcompletion->is_complete()); + ceph_assert(rcompletion->get_return_value() == 1); if (rcompletion->get_version64() != version) { cerr << "Error: racing read on " << oid << " returned version " << rcompletion->get_version64() << " rather than version " << version << std::endl; ceph_abort_msg("racing read got wrong version"); } + rcompletion->release(); { ObjectDesc old_value; @@ -1112,7 +1116,6 @@ public: << old_value.most_recent() << std::endl; } - rcompletion->release(); context->oid_in_use.erase(oid); context->oid_not_in_use.insert(oid); context->kick();