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.
Andrew
--
Andrew Patterson
Hewlett-Packard
On Wed, Oct 28 2009 at 4:19pm -0400,
Andrew Patterson <[email protected]> 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
Mike
On Wed, Oct 28 2009, Mike Snitzer wrote:
> On Wed, Oct 28 2009 at 4:19pm -0400,
> Andrew Patterson <[email protected]> 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