Sometimes my external drives get uncleanly detached, and at the next connection a disk check is necessary.
What surprises me now is to see a slow disk check process on a journaled filesystem. According to the manual, that requires the -f
option, but that seems incorrect. Isn't the point of journaling that you never need a full disk check?
In detail, macOS started fsck automatically with -y
:
$ ps auxw|grep fsck
root 3792 1.1 2.3 6429668 389400 ?? U 2:09pm 0:05.10 /System/Library/Filesystems/hfs.fs/Contents/Resources/./fsck_hfs -y /dev/disk3s2
Then I interrupted the process and re-run it by hand without -y
for greater control, as I usually do:
sudo fsck_hfs /dev/disk3s2
** /dev/rdisk3s2
Executing fsck_hfs (version hfs-407.50.6).
** Checking Journaled HFS Plus volume.
The volume name is MyPass4T-TM2
** Checking extents overflow file.
** Checking catalog file.
** Checking multi-linked files.
FWIW, this is on a journaled HFS+ sparsebundle, that I use for Time Machine, hosted inside an external filesystem (ExFAT).
diskutil repairvolume disk3s2
? This would have runfsck_hfs -fy -x /dev/rdisk3s2
after unmounting.fsck -y
. Moreover, the manual suggests passing-f
would force a full check on a journaled FS, while I'd want to avoid that and rely on the journal, as long as it's safe. However, I forgot one should userdisk
instead ofdisk
as the manual suggests.