From 48e3b00f42ae2f09f100c3aa603003724bd256db Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 8 Feb 2010 14:59:33 -0800 Subject: [PATCH] osd: carry ondisk_read_lock if prepare_transaction may_read() --- src/osd/ReplicatedPG.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 846644ddcdf1..d8ee59c49af0 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -577,7 +577,16 @@ void ReplicatedPG::do_op(MOSDOp *op) // we are acker. if (!noop) { + + if (op->may_read()) { + dout(10) << " taking ondisk_read_lock" << dendl; + obc->ondisk_read_lock(); + } int result = prepare_transaction(ctx); + if (op->may_read()) { + dout(10) << " dropping ondisk_read_lock" << dendl; + obc->ondisk_read_unlock(); + } if (result >= 0) log_op_stats(soid, ctx); -- 2.47.3