[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080701085926.GA31019@elf.ucw.cz>
Date: Tue, 1 Jul 2008 10:59:26 +0200
From: Pavel Machek <pavel@...e.cz>
To: Jeremy Fitzhardinge <jeremy@...p.org>
Cc: xfs-masters@....sgi.com, Elias Oltmanns <eo@...ensachen.de>,
Henrique de Moraes Holschuh <hmh@....eng.br>,
Kyle Moffett <mrmacman_g4@....com>,
Matthew Garrett <mjg59@...f.ucam.org>,
David Chinner <dgc@....com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Jens Axboe <jens.axboe@...cle.com>
Subject: Re: [xfs-masters] Re: freeze vs freezer
On Sun 2008-06-29 23:37:31, Jeremy Fitzhardinge wrote:
> Dave Chinner wrote:
>> On Mon, Jun 30, 2008 at 01:22:47AM +0200, Rafael J. Wysocki wrote:
>>
>>> On Monday, 30 of June 2008, Dave Chinner wrote:
>>>
>>>> On Thu, Jun 26, 2008 at 05:09:10PM +0200, Pavel Machek wrote:
>>>>
>>>>>>> Is this the same thing the per-device IO-queue-freeze patches for
>>>>>>> HDAPS also
>>>>>>> need to do? If so, you may want to talk to Elias Oltmanns
>>>>>>> <eo@...ensachen.de> about it. Added to CC.
>>>>>>>
>>>>>> Thanks for the heads up Henrique. Even though these issues seem to be
>>>>>> related up to a certain degree, there probably are some important
>>>>>> differences. When suspending a system, the emphasis is on leaving the
>>>>>> system in a consistent state (think of journalled file systems), whereas
>>>>>> disk shock protection is mainly concerned with stopping I/O as soon as
>>>>>> possible. As yet, I cannot possibly say to what extend these two
>>>>>> concepts can be reconciled in the sense of sharing some common code.
>>>>>>
>>>>> Actually, I believe requirements are same.
>>>>>
>>>>> 'don't do i/o in dangerous period'.
>>>>>
>>>>> swsusp will just do sync() before entering dangerous period. That
>>>>> provides consistent-enough state...
>>>>>
>>>> As I've said many times before - if the requirement is "don't do
>>>> I/O" then you have to freeze the filesystem. In no way does 'sync'
>>>> prevent filesystems from doing I/O.....
>>>>
>>> Well, it seems we can handle this on the block layer level, by temporarily
>>> replacing the elevator with something that will selectively prevent fs I/O
>>> from reaching the layers below it.
>>>
>>
>> Why? What part of freeze_bdev() doesn't work for you?
>
> Well, my original problem - which is still an issue - is that a process
> writing to a frozen XFS filesystem is stuck in D state, and therefore
> cannot be frozen as part of suspend.
Well, if it is in D state but does not hold any important locks, you
can just add "try_to_freeze()" in the place where it is sleeping,
right?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists