John Thompson wrote:
I could be wrong, but I understand that on boot, the filesystems are checked for the 'dirty bit' being set. When the system is shutdown cleanly, the 'dirty bit' is cleared. Once booted, the bit is set, so if the machine crashes without cleanly unmounting the filesystem, the bit will still be set. If the bit is not set, fsck is never run (unless an fsck is forced), and the machine is happy. If the bit is set, THEN fsck is called.fsck.xfs exists only because linux automatically runs fsck against all filesystems as part of the boot process. When fsck.xfs is run, it simply returns a successful message back to fsck so the boot process can continue. When the boot process subsequently mounts the xfs filesystem, xfs_check is run to determine if the filesystem is "dirty" and then the journal is played back and/or xfs_repair will be called to do the actual fixing.
xfs_check is not normally run at boot time. From its man page:
xfs_check checks whether an XFS filesystem is consistent. It is nor-
mally run only when there is reason to believe that the filesystem has
a consistency problem.
The OS is checking the 'dirty bit' to determine if the filesystem is clean. xfs_check is run manually to see if there is corruption. If the filesystem is dirty (was not cleanly umounted before a shutdown/crash), xfs_check and xfs_repair do not get run automatically.
In either case, thank you. You have confirmed my original point that the user should not run fsck on an xfs filesystem. :-)