On Wed, Jan 13, 2010 at 05:05:18PM +1100, Nathan Scott wrote:
> [Looks like tuxonice is a subscriber-only list...]
> ----- "Dave Chinner" <david@xxxxxxxxxxxxx> wrote:
> > On Wed, Jan 13, 2010 at 02:09:14PM +1100, Nathan Scott wrote:
> > > >
> > Agreed that it is trivial to implement but there are still some
> > definite traps - like the fact the sb change transaction may be
> > logged
> > immediately but the physical superblock may not get written for some
> > time after the mount.
> *nod* ... it will be written when unmounted though...
suspend in the kernel doesn't unmount filesystems. I have no idea
what tuxonice does these days, but last time I heard it left them
mounted but frozen over the suspend/resume cycle.
> > Really it comes down to the interface used to read the mount time
> > fromt eh superblock at suspend and resume - can anyone tell me what
> > that is or point me at the code?
> (not me!)
> > Personally I don't see why this needs to be in the superblock - an
> > extended attribute on the root directory of the root filesystem that
> > is written:
> Yeah, that was my first thought too, but I suspect they want to be
> able to query this when the filesystem is unmounted; in which case
> the interface is probably "read a fs-specific magic spot ondisk".
> For this not-mounted query, the EA route would be incredibly painful.
I know, but it's the "read from the magic spot on disk" approach
that I'm most concerned about. It's so easy to implement, but oh so
easy get wrong because block device access is not coherent with the
filesystem. Not to mention that if we change the format of the
"magic spot" then the application breaks, whereas that will not
happen if access is via extended attributes.
Essentially, I don't want to see another boot related, filesystem
interacting application having random problems with XFS and then
doing stupid stuff to try to work around problems caused by
fundamentally broken assumptions made by the application. IMO,
learning from the mistakes the world's most screwed up bootlader
(grub) made is a good idea....