8.0-RC2 mangles msdosfs

Alexey Shuvaev shuvaev at physik.uni-wuerzburg.de
Wed Nov 4 15:40:50 UTC 2009


On Wed, Nov 04, 2009 at 02:50:21PM +0100, Dominic Fandrey wrote:
> Alexander Best wrote:
> > Paul G Webster schrieb am 2009-11-03:
> > *lol* just tried this myself and my fdisk output looks just as bad as yours:
> 
> I think funny fdisk output is not that much of a problem.
> 
> [snip]
> 
> What I wonder is - are there more people who witness file
> system corruption upon msdosfs writes (and don't forget
> that either newfs_msdos or fsck_msdosfs is broken as well,
> and that fsck_msdosfs certainly does not recognize
> cross-linked files). The impact is so horrid that I had
> to reformat my portable player (with Windows) and reinstall
> the firmware to get it back going.
> 
The relative silence on the mailing list seems to show it is not
the common problem...

~> uname -a
FreeBSD wep4035 9.0-CURRENT FreeBSD 9.0-CURRENT #0 r198671: Fri Oct 30 16:12:10 CET 2009     root at wep4035:/usr/obj/usr/src/sys/GENERIC  amd64

ugen7.2: <SanDisk> at usbus7
umass0: <SanDisk MobileMate Micro, class 0/0, rev 2.00/94.07, addr 2> on usbus7
umass0:  SCSI over Bulk-Only; quirks = 0x0000
umass0:1:0:-1: Attached to scbus1
(probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0 
(probe0:umass-sim0:0:0:0): CAM Status: SCSI Status Error
(probe0:umass-sim0:0:0:0): SCSI Status: Check Condition
(probe0:umass-sim0:0:0:0): UNIT ATTENTION asc:28,0
(probe0:umass-sim0:0:0:0): Not ready to ready change, medium may have changed
(probe0:umass-sim0:0:0:0): Retrying Command (per Sense Data)
da0 at umass-sim0 bus 0 scbus1 target 0 lun 0
da0: <Generic STORAGE DEVICE 9407> Removable Direct Access SCSI-0 device 
da0: 40.000MB/s transfers
da0: 7790MB (15954944 512 byte sectors: 255H 63S/T 993C)
GEOM: da0: partition 1 does not start on a track boundary.
GEOM: da0: partition 1 does not end on a track boundary.

~> gpart show da0
=>      63  15954876  da0  MBR  (7.6G)
        63      8129       - free -  (4.0M)
      8192  15946752    1  !11  (7.6G)

~> df
[snip]
/dev/da0s1             7969344  6322272  1647072    79%    /home/lexx/mnt

~> mount
[snip]
/dev/da0s1 on /home/lexx/mnt (msdosfs, local, nosuid, mounted by lexx)

This is a microSD card in a USB adaptor. Haven't any problems with it
up to date. However I use it more or less carefully by:
- trying to use only ASCII characters for filenames (from "C" locale) and
  avoiding any characters that require escaping in the shell,
- never ever detaching it without prior unmount
- if it matters I have never run fsck_msdosfs on it.

Just 0.02$,
Alexey.


More information about the freebsd-current mailing list