Re: [PATCH -mm 0/2] Use freezeable workqueues to avoid suspend-related XFS corruptions

Pavel Machek
2006-11-17T15:15:04Z

On Fri 2006-11-17 11:50:52, David Chinner wrote:
> On Thu, Nov 16, 2006 at 09:12:49AM +0100, Rafael J. Wysocki wrote:
> > Hi,
> >
> > The following two patches introduce a mechanism that should allow us to
> > avoid suspend-related corruptions of XFS without the freezing of bdevs which
> > Pavel considers as too invasive (apart from this, the freezing of bdevs may
> > lead to some undesirable interactions with dm and for now it seems to be
> > supported for real by XFS only).
>
> Has this been tested and proven to fix the problem with XFS? It's
> been asserted that this will fix XFS and suspend, but it's
> not yet been proven that this is even the problem.
>
> I think the problem is a race between sys_sync, the kernel thread
> freeze and the xfsbufd flushing async, delayed write metadata
> buffers resulting in a inconsistent suspend image being created.
> If this is the case, then freezing the workqueues does not
> fix the problem. i.e:
>
> suspend xfs
> ------- ---
> sys_sync completes
> xfsbufd flushes delwri metadata
> kernel thread freeze
> workqueue freeze
> suspend image start
> async I/O starts to complete
> suspend image finishes
> async I/O all complete

This can't happen, because creating suspend image is atomic. (No
interrupts, no DMAs, no drivers running).
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html