So the recent xorg-server (version 1.7.1.901-2 on Arch) update proved disastrous for my system as it started to crash at random intervals, and I fixed it by installing vesa driver instead of the intel driver that I was using originally. Those frequent X crashes caused me to reboot my system, which resulted in file system checks being forced too often as the max-mount-counts was reached rather quickly. That’s where I decided to enable time-based checking instead of mount-counts based checking. Both types of criteria could be used together and a filesystem check would be forced whenever one of the them is true. In my case, I needed time-based checking only so I had to disable the other one, using:
tune2fs -c 0 /dev/sda1
Also, I specified a period of one month as an interval between the checks, using:
tune2fs -i 1m /dev/sda1
These new settings take effect w/o needing a reboot and could be verified by doing:
tune2fs -l /dev/sda1
Filesystem checks could be totally disabled (if we disable both the types), but it’s strongly discouraged. We should know that on journaled filesystems such as ext3, the filesystem is never marked dirty. Instead in case of unclean shutdowns or crashes, the journal is left with “uncommitted/unfinished requests/data”, and on reboot the journal is replayed to take care of the unfinished business. Nevertheless, things could go wrong due to a variety of factors and that’s where these periodic checks could prevent major data loss in case of disk I/O that is erroneous but unnoticeable. A few reasons for these could be failing old storage media, bad cables, undiscovered kernel/filesystem bugs etc.


