[dm-devel] [PATCH] dm_crypt: Issue all previous bios before remapping barrier bio
Nikanth Karthikesan
knikanth at suse.de
Mon Feb 1 15:19:26 UTC 2010
Before remapping a barrier bio, make sure that there are no un-issued
pending I/O in the workqueue. Otherwise a dm_flush would simply add
a barrier request to the underlying device, without issuing the bio's
queued in the dm_crypt device.
Signed-off-by: Nikanth Karthikesan <knikanth at suse.de>
--
diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index a936372..be68e70 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -1252,6 +1252,7 @@ static int crypt_map(struct dm_target *ti, struct bio *bio,
if (unlikely(bio_empty_barrier(bio))) {
cc = ti->private;
+ flush_workqueue(cc->io_queue);
bio->bi_bdev = cc->dev->bdev;
return DM_MAPIO_REMAPPED;
}
More information about the dm-devel
mailing list