fsck exits with error status, even though no errors are found

JD jd1008 at gmail.com
Mon Sep 26 21:56:58 UTC 2011


On 09/26/2011 01:49 PM, Rick Stevens wrote:
> On 09/26/2011 01:25 PM, JD wrote:
>> On 09/26/2011 12:09 PM, Rick Stevens wrote:
>>> On 09/26/2011 11:59 AM, JD wrote:
>>>> kernel-2.6.35.14-96.fc14.i686
>>>>
>>>> During boot, when the time comes for fsck'ing
>>>> the file systems, whatever script is doing that,
>>>> is exiting with an error status, even though no
>>>> errors are displayed, and I am prompted to either
>>>> enter the root password, or type Contrl-D to continue.
>>>> Cntrl-D simply reboots. Entering the root password,
>>>> and running fsck manually to check all filesystems in fstab,
>>>> yields that all is well, no errors are found, and the exit
>>>> status is 0.
>>>>
>>>> Would appreciate some info on identifying the script that
>>>> does the fsck during boot.
>>> /etc/rc.d/rc.sysinit is the guy and it'll force an fsck if it sees
>>> a file called "/forcefsck" or "/.autofsck" in the root of the
>>> filesystem or if there's a "forcefsck" on the command line of the kernel
>>> (check your /etc/grub/grub.conf file).
>> Thanks Rick.
>>
>> I checked /etc/rc.d/rc.sysinit
>> and I see that it does check for the presence of files like:
>>
>> if [ -f /fsckoptions ]
>>
>>
>> if [ -f /forcefsck ]
>>
>>
>> elif [ -f /.autofsck ]
> Remember you need the "-a" option to ls to see files that begin with a
> dot, e.g. "ls -a /.autofsck".  Just making sure.
Yes. I know that. Still no such files.

>> [ -f /etc/sysconfig/autofsck ]
>>
>> and I have none of these files.
>>
>> I checked /boot/grub/grub.conf and I see
>> no presence of any string like fsck or force
>> or auto in it.
>>
>> The only script I found that invokes /etc/rc.d/rc.sysinit is
>> /etc/init/rcS.conf, and it is not passing any args to it.
>>
>> I wounder if this maybe a bash problem?
> Do you have other filesystems on other partitions that might be
> triggering this?  Check your /etc/fstab file and see if any entries
> have stuff other than "0" as the last field.  Generally, "/" should
> have a "1" as the last field, "/boot" should have a "2", the rest (if
> any) should have "0".
Yes I do have other filesystems.

About field number 6, man page says:

The sixth field, (fs_passno), is used by the fsck(8) program to deter‐
mine the order in which filesystem checks are done at reboot time. The
root filesystem should be specified with a fs_passno of 1, and other
filesystems should have a fs_passno of 2. Filesystems within a drive
will be checked sequentially, but filesystems on different drives will
be checked at the same time to utilize parallelism available in the
hardware. If the sixth field is not present or zero, a value of zero
is returned and fsck will assume that the filesystem does not need to
be checked.

I will set it to 0 for now, unless I run into situations, like
power failure - and see if fsck gets forced.

> Also note that the system may force an fsck if you've exceeded the
> "mounts between fsck runs" or "interval-between-checks" set on ext2/3/4
> filesystems (and others, I think) via the "tune2fs -c" or "tune2fs -i"
> commands.  You could run "tune2fs -l" on the block device holding your
> root filesystem to see what values are set currently.
>
> Just an idea.

Cheers,

JD


More information about the users mailing list