Updated dosfstools required
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Raspbian |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Description of the problem:
dosfstools v3.0.14 or later is required otherwise kernel warnings about DOS filesystems that have not been properly unmounted will never be silenced.
Steps to reproduce:
1. Start Raspbian.
2. Make sure all packages are up to date.
3. apt-get install dosfstools
4. sync
5. touch /boot
6. reboot -f
7. When the system has booted log in and run
dmesg | grep "FAT.*corrupt"
8. Run
umount /boot
dosfsck /dev/mmcblk0p1
mount /boot
9. Run
dmesg | grep "FAT.*corrupt"
Expected results:
No difference between the output of step 7 and the output of step 9.
Actual results:
An additional message is seen:
[ 14.887935] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 111.596729] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
How reproducible is the problem?
It is reproducible every time.
Additional information:
The 3.8 kernel introduced a dirty bit check to see if DOS filesystems were unmounted properly but only dosfstools v3.0.14 or later clear this dirty bit (see https:/
$ git blame fs/fat/inode.c
[...]
b88a10580 (Oleksij Rempel 2013-02-27 17:03:09 -0800 515) /* do not change state if fs was dirty */
b88a10580 (Oleksij Rempel 2013-02-27 17:03:09 -0800 516) if (sbi->dirty) {
$ git describe --abbrev=0 b88a10580
v3.8
Version information:
raspberrypi-
kernel 3.10.24+
dosfstools 3.0.13-1
I've installed dosfstools 3.0.26-3 after adding Jessie repo (sources.list entry: deb http:// mirrordirector. raspbian. org/raspbian/ jessie main contrib non-free rpi), then I checked my corrupted vfat partition and rebooted the server.
This fixed FAT-FS error present in syslog [FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck].
Please make dosfstools 3.0.26-3 available in Wheezy repo to solve this issue.