sub_op_scrub must set finalizing_scrub on the replica
	before waiting for last_update_applied to catch up to
	info.last_update.

Signed-off-by: Samuel Just <samuelj@hq.newdream.net>
This commit is contained in:
Samuel Just 2010-12-16 13:06:43 -08:00
parent 29480f42be
commit 73669d87e6

View File

@ -2759,6 +2759,7 @@ void PG::sub_op_scrub(MOSDSubOp *op)
ScrubMap map;
if (op->version > eversion_t()) {
epoch_t epoch = info.history.same_acting_since;
finalizing_scrub = 1;
while (last_update_applied != info.last_update) {
wait();
if (epoch != info.history.same_acting_since ||
@ -2768,6 +2769,7 @@ void PG::sub_op_scrub(MOSDSubOp *op)
}
}
build_inc_scrub_map(map, op->version);
finalizing_scrub = 0;
} else {
build_scrub_map(map);
}