Add versioning to the on disk inode which we increment on each
flush call. This is used during recovery to avoid replaying an
older copy of the inode from the log. We can do this without
versioning the filesystem as the pad space we borrowed was
always zero and will be ignored by old kernels.
There is no need for mkfs or any fancy tricks, just boot a new
kernel and it works, old kernels will like your filesystems
just fine too.
Date: Wed Aug 6 14:17:05 PDT 2003
Workarea: jen.americas.sgi.com:/src/lord/xfs-linux.2.4
The following file(s) were checked into:
bonnie.engr.sgi.com:/isms/slinx/2.4.x-xfs
Modid: xfs-linux:slinx:155189a
linux/fs/xfs/xfsidbg.c - 1.232
- print di_flushiter
linux/fs/xfs/xfs_log_recover.c - 1.276
- During recovery, do not replay an inode log record which is older
than the on disk copy. Check for wrapping in the counter.
linux/fs/xfs/xfs_inode.c - 1.382
- when flushing an inode out to disk, bump di_flushiter, if it hits
the maximum value, reset it to zero. When pulling in an inode
from disk, always propogate di_flushiter to the in memory copy.
linux/fs/xfs/xfs_dinode.h - 1.65
- add di_flushiter field to inode core
Modid: xfs-cmds:slinx:155189b
cmd/xfsprogs/db/inode.c - 1.10
- Print out the new inode field
cmd/xfsprogs/logprint/log_print_all.c - 1.10
- print new di_flushiter field
cmd/xfsprogs/include/xfs_dinode.h - 1.10
- add new field to the inode core, stolen from the di_pad field
|