On Wed, Jan 13, 2010 at 02:09:14PM +1100, Nathan Scott wrote:
> ----- "Martin Steigerwald" <Martin@xxxxxxxxxxxx> wrote:
> > Please keep CC to TuxOnIce devel list.
> > Hi!
> > Nigel, who develops the alternative TuxOnIce hibernation / snapshot
> > infrastructure, implemented checking last mount time of filesystem as
> > a
> > safety feature for Ext 2, 3 and 4.
> > He would like this also for XFS. Does XFS record the last mount time
> > somewhere?
> > If not, could this be added?
> Anythings possible ... its a relatively trivial change, and there's room
> in the superblock. Could probably even be done without a superblock version
> bump - if you were prepared to live with the possibility of finding zero in
> the ondisk location & dealing with it appropriately (i.e. last mount time
> Guess you'd have to convince the XFS folks doing most of the work these
> days, but really it'd be quite trivial to implement. xfs_mount_log_sb()
> would be the place to start looking...
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.
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?
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
a) by a startup script at boot time;
b) by the suspend code;
c) copied into the suspend image; and
d) read and verified during resume
seems sufficient to me to provide what you want. This has the
benefit of being completely filesystem independent and doesn't
require on-disk format changes for every filesystem that ppl want
TuxOnIce to supprt.