From: myoungwon oh Date: Wed, 10 Feb 2021 02:55:12 +0000 (+0900) Subject: src/test: make TierFlushOp to set snapshot X-Git-Tag: v17.1.0~2307^2~37 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=0fbd7b602cf79f1d021c7fa07acbc077b92558ca;p=ceph-ci.git src/test: make TierFlushOp to set snapshot Signed-off-by: Myoungwon Oh --- diff --git a/src/test/osd/RadosModel.h b/src/test/osd/RadosModel.h index f19d63bb711..22c6501121d 100644 --- a/src/test/osd/RadosModel.h +++ b/src/test/osd/RadosModel.h @@ -2756,6 +2756,7 @@ public: librados::ObjectReadOperation op; string oid; std::shared_ptr in_use; + int snap; TierFlushOp(int n, RadosTestContext *context, @@ -2763,7 +2764,8 @@ public: TestOpStat *stat) : TestOp(n, context, stat), completion(NULL), - oid(oid) + oid(oid), + snap(-1) {} void _begin() override @@ -2773,6 +2775,17 @@ public: context->oid_in_use.insert(oid); context->oid_not_in_use.erase(oid); + if (0 && !(rand() % 4) && !context->snaps.empty()) { + snap = rand_choose(context->snaps)->first; + in_use = context->snaps_in_use.lookup_or_create(snap, snap); + } else { + snap = -1; + } + + if (snap >= 0) { + context->io_ctx.snap_set_read(context->snaps[snap]); + } + pair *cb_arg = new pair(this, new TestOp::CallbackInfo(0)); @@ -2785,6 +2798,10 @@ public: int r = context->io_ctx.aio_operate(context->prefix+oid, completion, &op, flags, NULL); ceph_assert(!r); + + if (snap >= 0) { + context->io_ctx.snap_set_read(0); + } } void _finish(CallbackInfo *info) override @@ -2800,7 +2817,7 @@ public: } else { ceph_abort_msg("shouldn't happen"); } - context->update_object_version(oid, completion->get_version64()); + context->update_object_version(oid, completion->get_version64(), snap); context->oid_in_use.erase(oid); context->oid_not_in_use.insert(oid); context->kick();