All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Dave Chinner <david@fromorbit.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	xfs-masters@oss.sgi.com, Elias Oltmanns <eo@nebensachen.de>,
	Henrique de Moraes Holschuh <hmh@hmh.eng.br>,
	Kyle Moffett <mrmacman_g4@mac.com>,
	Matthew Garrett <mjg59@srcf.ucam.org>,
	David Chinner <dgc@sgi.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Jens Axboe <jens.axboe@oracle.com>
Subject: Re: [xfs-masters] Re: freeze vs freezer
Date: Tue, 1 Jul 2008 00:38:41 +0200	[thread overview]
Message-ID: <200807010038.43362.rjw@sisk.pl> (raw)
In-Reply-To: <20080630222128.GP29319@disturbed>

On Tuesday, 1 of July 2008, Dave Chinner wrote:
> On Mon, Jun 30, 2008 at 11:00:43PM +0200, Rafael J. Wysocki wrote:
> > On Monday, 30 of June 2008, Dave Chinner wrote:
> > > On Sun, Jun 29, 2008 at 11:37:31PM -0700, Jeremy Fitzhardinge wrote:
> > > > Dave Chinner wrote:
> > > >> On Mon, Jun 30, 2008 at 01:22:47AM +0200, Rafael J. Wysocki wrote:
> > > >>> 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.
> > 
> > I thought we were talking about the post-freezer situation.
> > 
> > > Silly me - how could I forget the three headed monkey getting in
> > > the way of our happy trip to beer island?
> > > 
> > > Seriously, though, how is stopping I/O in the elevator is going to
> > > change that?
> > 
> > We can do that after creating the image and before we let devices run again.
> > This way we won't need to worry about the freezer.
> 
> You're suggesting that you let processes trying to do I/O continue
> until *after* the memory image is taken?

I'm not going to let the data get to the disk.

> How is that going to work? 
> You've got to quiesce the filesystems totally *before* taking an image
> of memory - it's the only way to guarantee that they are the
> in-memory state and on disk state are consistent state on resume.

No, it's not the only way.

We have to ensure that the fs data that did't make it to the disk(s)
before creating the snapshot image will not be written to the disk(s) after
the image has been created.  In theory one can think of many ways to achieve
that and the freezing of filesystems is certainly one of those.

> Don't re-invent the wheel - use the API we already have that does
> exactly what needs to be done.
> 
> > > What do you do with a sync I/O (read or write)? The 
> > > process is going to have to go to sleep somewhere in D state waiting
> > > for that I/O to complete.  If you're going to intercept such
> > > processes somewhere else to do something magic, then why not put
> > > that magic in vfs_check_frozen()?
> > 
> > This might work too, but it would be nice to do something independent of the
> > freezer, so that we can drop the freezer when we want and not when we are
> > forced to.
> 
> vfs_check_frozen() is completely independent of the process freezer.

Well, can you please tell me how exactly that works, then?

Thanks,
Rafael

  reply	other threads:[~2008-06-30 22:37 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-22  3:54 freeze vs freezer Jeremy Fitzhardinge
2007-11-23 23:47 ` Rafael J. Wysocki
2007-11-26 18:44   ` Jeremy Fitzhardinge
2007-11-26 21:20     ` Rafael J. Wysocki
2007-11-26 21:17   ` David Chinner
2007-11-26 21:53     ` Rafael J. Wysocki
2007-11-27  5:38       ` Matthew Garrett
2007-11-27 17:40         ` Rafael J. Wysocki
2007-11-27 20:33           ` Kyle Moffett
2007-11-27 23:01             ` Rafael J. Wysocki
2007-11-27 22:49               ` Jeremy Fitzhardinge
2007-11-27 23:14                 ` Kyle Moffett
2007-11-27 23:32                   ` Jeremy Fitzhardinge
2008-01-02 16:02             ` Pavel Machek
2008-01-02 21:30               ` Nigel Cunningham
2008-01-02 22:04                 ` Rafael J. Wysocki
2008-01-03  9:19                   ` Nigel Cunningham
2008-01-03  9:47                     ` Oliver Neukum
2008-01-03  9:52                       ` Nigel Cunningham
2008-01-03 11:15                         ` Oliver Neukum
2008-01-03 22:06                           ` Nigel Cunningham
2008-01-04 20:54                             ` Oliver Neukum
2008-01-05  1:38                               ` Kyle Moffett
2008-01-05 21:18                               ` Pavel Machek
2008-01-05 23:01                                 ` Nigel Cunningham
2008-01-03 22:31                     ` Rafael J. Wysocki
2008-06-23  7:16             ` Pavel Machek
2008-06-23 14:00               ` Henrique de Moraes Holschuh
2008-06-24  8:08                 ` Elias Oltmanns
2008-06-26 15:09                   ` Pavel Machek
2008-06-29 22:12                     ` [xfs-masters] " Dave Chinner
2008-06-29 23:22                       ` Rafael J. Wysocki
2008-06-30  6:11                         ` Christoph Hellwig
2008-06-30 20:34                           ` Rafael J. Wysocki
2008-07-03 19:43                             ` Eric Sandeen
2008-06-30  6:29                         ` Dave Chinner
2008-06-30  6:37                           ` Jeremy Fitzhardinge
2008-06-30 12:33                             ` Dave Chinner
2008-06-30 21:00                               ` Rafael J. Wysocki
2008-06-30 22:21                                 ` Dave Chinner
2008-06-30 22:38                                   ` Rafael J. Wysocki [this message]
2008-07-01  6:38                                     ` Dave Chinner
2008-07-01 14:35                                       ` Rafael J. Wysocki
2008-07-01 15:05                                         ` Elias Oltmanns
2008-07-01 15:17                                           ` Christoph Hellwig
2008-07-01 21:15                                           ` Dave Chinner
2008-07-01 21:46                                             ` Elias Oltmanns
2008-07-01 21:12                                         ` Dave Chinner
2008-07-01 21:21                                           ` Rafael J. Wysocki
2008-07-01  8:59                             ` Pavel Machek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200807010038.43362.rjw@sisk.pl \
    --to=rjw@sisk.pl \
    --cc=david@fromorbit.com \
    --cc=dgc@sgi.com \
    --cc=eo@nebensachen.de \
    --cc=hmh@hmh.eng.br \
    --cc=jens.axboe@oracle.com \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mjg59@srcf.ucam.org \
    --cc=mrmacman_g4@mac.com \
    --cc=xfs-masters@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.