recommending reiserfs?

Randy Kelsoe randykel at swbell.net
Mon May 10 04:38:17 UTC 2004


Luciano Miguel Ferreira Rocha wrote:

>>Can you prove that the system uses fsck to check the filesystem's dirty 
>>flag? I can't. I see where it gets called if the filesystem is dirty, 
>>but not before that.
>>    
>>
>
>The last field in /etc/fstab says if a filesystem is to be checked and in
>what order.
>
>When booting, /etc/rc.d/rc.sysinit calls fsck -A, that parses the
>/etc/fstab field and calls for each filesystem to be checked
>/sbin/fsck.filesystem_type.
>  
>
Yes, I see that fsck gets called if there is a /forcefsck file, or an 
/.autofsck file, or an /fsckoptions file, but not anywhere else.

>That fsck.filesystem_type is the one that checks the dirty bit on the
>filesystem (for fsck.* that do something usefull, like fsck.ext2/3, vfat
>and minix). For fsck.ext3, a check is made for a journal to replay, and
>if the replay is successful the filesystem is considered clean.
>  
>
Where do you see anything that says fsck checks the dirty bit? And as 
for fsck.ext3,  don't you think it's odd that it's the exact same size 
as fsck.ext2? Another thing that makes me still think that fsck does not 
check the dirty bit, is the exit codes from the fsck man page:

       The exit code returned by fsck is the sum of the following 
conditions:
            0    - No errors
            1    - File system errors corrected
            2    - System should be rebooted
            4    - File system errors left uncorrected
            8    - Operational error
            16   - Usage or syntax error
            32   - Fsck canceled by user request
            128  - Shared library error
       The exit code returned when multiple file systems are  checked  
is  the
       bit-wise OR of the exit codes for each file system that is checked.

I don't see anything that says "The file system is dirty/not clean ". My 
guess is that the dirty bit is checked by the kernel or the disk driver 
before the rc.sysinit script gets run.
 From 'man boot':

   Kernel Startup
       When the kernel is  loaded,  it  initializes  the  devices  (via  
their
       drivers),  starts  the swapper (it is a "kernel process", called 
kswapd
       in modern Linux kernels), and mounts the root file system (/).
                                                                                                                        


>A reason you don't see where fsck gets called if the system isn't dirty,
>could be that you're not noticing the message saying it's clean. :)
>
I am not talking about when I boot my machine. I was saying that I did 
not see fsck being called in the /etc/rc.sysinit script, unless the 
filesystem was dirty, or there was a /forcefsck, /.autofsck, or 
/fsckoptions file.

At this point, I am looking for a document or source code, or something 
that states when and what checks the dirty bit.






More information about the fedora-list mailing list