- Package:
- initscripts
- Source:
- sysvinit
- Submitter:
- Arthur Marsh
- Date:
- 2025-02-12 14:12:05 UTC
- Severity:
- wishlist
- Tags:
I had an entry like this in /etc/fstab: UUID=4823-93A9 /mnt/usb8gig vfat defaults,users,uid=65534,gid=65534,umask=000,shortname=win95 0 2 When upgrading past dosfstools 3.0.1 I ran into a problem that fsck was exiting with an error code greater than 1 when the drive was not present. This is not really the fault of fsck but it is the fault of calling fsck on a device node that is not even present. I believe that if there is an entry in /etc/fstab for a filesystem whose device (or in this case UUID) does not exist, no attempt should be made to run fsck. Perhaps just a "device UUID=4823-93A9 does not exist" should be reported, but please don't halt the boot process.
[Arthur Marsh] Well, I disagree. If a device what should be present during boot is missing when the boot take place, this is an error that should be reported by fsck. The last number in the fstab entry (the fsck order, currently 2) indicate that fsck should take place during boot, and also indicate that the device should be present. If this is not the intention, change the 2 to 0 to disable fsck during boot. If it should not be automatically mounted during boot, a noauto flag should be added to the options too. Happy hacking,
I agree with the reporter. I have indeed been forced to do what Petter suggests, and set fs_passno to 0, but this is not an optimal solution, since the external disk is sometimes present at boot, and when it is, I do want it to be fscked. Why should there be no easy way to tell init "fsck, and possibly mount, the filesystem if it's present, but if not, just proceed normally"? Isn't this a common enough situation? Celejar