Re: block: silently error unsupported empty barriers too

From: Jens Axboe
Date: Thu Oct 29 2009 - 03:45:48 EST


On Wed, Oct 28 2009, Mike Snitzer wrote:
> On Wed, Oct 28 2009 at 4:19pm -0400,
> Andrew Patterson <andrew.patterson@xxxxxx> wrote:
>
> > On Thu, 2009-08-06 at 21:50 -0400, Mikulas Patocka wrote:
> > > On Thu, 6 Aug 2009, Alasdair G Kergon wrote:
> > >
> > > > On Thu, Aug 06, 2009 at 12:14:17PM +0100, Mark McLoughlin wrote:
> > > > > We should error all barriers, even empty barriers, on devices like
> > > > > virtio_blk which don't support them.
> > > >
> > > > Have you considered whether or not virtio_blk actually needs to
> > > > support empty barriers?
> > > >
> > > > Alasdair
> > >
> > > This is only for request-based drivers, where it is the responsibility of
> > > blk-core to translate barriers. I think the empty barrier request anyway
> > > in blk_do_ordered, but with an error message. So the patch changes it to
> > > discard it early and queitly. It seems ok.
> > >
> > > Mikulas
> > > --
> >
> > This patch seems to have been dropped. I can reproduce the error using
> > the following:
> >
> > 1. Create an LVM logical volume on top of a cciss device (note that
> > the cciss driver does not support barriers)
> > 2. Create an ext3 file system on top of the logical volume
> > 3. Mount the file-system using -obarrier=1
> > 4. Copy some files onto the file-system
> > 5. Run sync (dm_flush is called)
> >
> > If I apply the patch (with some munging), the
> >
> > "end_request: I/O error, dev cciss/cXdY, sector 0"
> >
> > messages go away.
> >
> > This is not strictly a regression, given that the problem was introduced
> > in 2.6.31, but I think it should still be fixed for 2.6.32.
>
> It was resubmitted last Friday:
> http://lkml.org/lkml/2009/10/23/196
>
> And is queued in Jens' 'for-linus' branch (meaning it should get
> upstream in time for 2.6.32), see:
> http://git.kernel.org/?p=linux/kernel/git/axboe/linux-2.6-block.git;a=commit;h=6cafb12dc85a5bdc722791cc5070968413264909

I sent out a pull request yesterday, but it isn't in yet. Any day now...

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/