FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Device-mapper Development

 
 
LinkBack Thread Tools
 
Old 02-01-2010, 02:19 PM
Nikanth Karthikesan
 
Default dm_crypt: Issue all previous bios before remapping barrier bio

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@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;
}

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
 
Old 02-03-2010, 05:09 AM
Nikanth Karthikesan
 
Default dm_crypt: Issue all previous bios before remapping barrier bio

On Tuesday 02 February 2010 18:17:24 Mikulas Patocka wrote:
> On Mon, 1 Feb 2010, Milan Broz wrote:
> > On 02/01/2010 04:19 PM, Nikanth Karthikesan wrote:
> > > 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.
> >
> > This should not be needed. Core dm code waits for all bios submitted
> > before barrier requests.
> >
> > Mikulas, could you verify it?
> >
> > Milan
>
> Yes, you are right, the patch is not needed.
>
> When the target receives an empty barrier request, there are no other data
> requests in flight.
>
> BTW. The target may receive more empty barrier requests simultaneously, if
> it asked for it by setting ti->num_flush_requests to more than one. But
> barrier and non-barrier requests are never mixed.
>

Correct. Sorry, I was a bit hasty in sending that patch. It is not required.
Thanks for the patient explanation.

Thanks
Nikanth

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
 

Thread Tools




All times are GMT. The time now is 09:43 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org