[dm-devel] Re: possible regression by the barrier patch in 2.6.30-rc2

Mikulas Patocka mpatocka at redhat.com
Mon Apr 20 06:20:10 UTC 2009


On Mon, 20 Apr 2009, Kiyoshi Ueda wrote:

> Hi Alasdair, Mikulas,
> 
> On 2009/04/17 22:22 +0900, Alasdair G Kergon wrote:
> > On Fri, Apr 17, 2009 at 01:57:02PM +0900, Kiyoshi Ueda wrote:
> >> 1. The semantics of flush suspend has been changed.
> > 
> > We absolutely must complete any I/O issued as a result of the lock_fs()
> > call in dm_suspend().
> 
> I think that lock_fs() waits for I/O to complete, so no semantics change
> in case of LOCKFS && FLUSH. (All I/O issued from lock_fs() are flushed.)

True. It waits, so there's no problem with it.

> But in case of NO_LOCKFS && FLUSH, the semantics is changed:
>   from: I/Os submitted before the suspend invocation are flushed
>   to:   I/Os submitted even before the suspend invocation may not be flushed
> 
> I have no idea whether someone gets real damage by this semantics change.

I have no idea whether it hurts too. I think it doesn't hurt because 
suspend may come only from ioctl and that ioctl syscall doesn't submit any 
requests prior to suspend.

It would be trivial to fix, but I don't know about any case where it could 
cause a bug.

Mikulas




More information about the dm-devel mailing list