是否有与 fsck.ext4 消息“恢复日志”等效的 XFS? (看 “恢复日志”是否证明是不干净的关闭/卸载?)。
fsck.xfs
是一个空操作。那么,当您挂载未完全卸载的 XFS 文件系统时,内核是否会记录一条消息?
答案1
似乎没有直接的等价物。
[27927.296390] XFS (sdb4): Mounting V5 Filesystem
[27927.869545] XFS (sdb4): Ending clean mount
[27942.761564] usb 2-2: USB disconnect, device number 31
[27943.011211] usb 2-2: new full-speed USB device number 32 using xhci_hcd
[27960.810143] XFS (sdb4): Unmounting Filesystem
[27960.811247] XFS (sdb4): metadata I/O error in "xlog_iodone" at daddr 0x58b10a len 64 error 5
[27960.812077] XFS (sdb4): xfs_do_force_shutdown(0x2) called from line 1271 of file fs/xfs/xfs_log.c. Return address = 00000000758bdd7c
[27960.812708] XFS (sdb4): Log I/O Error Detected. Shutting down filesystem
[27960.812728] XFS (sdb4): Unable to update superblock counters. Freespace may not be correct on next mount.
[27960.813349] XFS (sdb4): Please umount the filesystem and rectify the problem(s)
...
[28509.842965] sdb: sdb1 sdb2 sdb3 sdb4
[28509.846156] sd 2:0:0:0: [sdb] Attached SCSI removable disk
[28517.755990] XFS (sdb4): Mounting V5 Filesystem
[28518.328431] XFS (sdb4): Ending clean mount
file -s /dev/sdb4
能够显示 ext4 文件系统何时“需要日志恢复”,但当我测试不干净卸载的 XFS 文件系统时,它没有检测到任何差异。
xfs_repair
也没有表现出任何差异。事实上,常见消息列表 man xfs_repair
不包含任何有关日志重播的内容。反而:
xfs_repair 实用程序无法修复具有脏日志的 XFS 文件系统。要清除日志,请挂载和卸载 XFS 文件系统。如果日志已损坏且无法重播,请使用 -L 选项(“强制日志清零”)清除日志,即 xfs_repair -L /dev/device。请注意,这可能会导致进一步的损坏或数据丢失。
虽然 ext4 维护特殊标志来指示不干净的卸载,但听起来 XFS 只维护日志。如果日志是空的,那么它是“干净的”;没有什么可以修复/恢复/重播。
(如果您的操作系统希望检测不正常的关闭,那么它必须自己执行此操作,就像 Windows 一样:-)。