cvs commit: src/sys/fs/msdosfs msdosfs_vfsops.c
bde at FreeBSD.org
Thu Jul 12 17:17:48 UTC 2007
bde 2007-07-12 17:17:47 UTC
FreeBSD src repository
Round up the FAT block size to a multiple of the sector size so that i/o
to the FAT is possible.
Make the FAT block size less arbitrary before it is rounded up:
- for FAT12, default to 3*512 instead of to 3 sectors. The magic 3 is
the default number of 512-byte FAT sectors on a floppy drive. That
many sectors is too many if the sector size is larger.
- for !FAT12, default to PAGE_SIZE instead of to 4096. Remove
MSDOSFS_DFLTBSIZE since it only obfuscated this 4096.
For reading the BPB, use a block size of 8192 instead of 2048 so that
sector sizes up to 8192 can work. We should try several sizes, or just
try the maximum supported size (MAXBSIZE = 64K). I use 8192 because
that is enough for DVD-RW's (even 2048 is enough) and 8192 has been
tested a lot in use by ffs.
This completes fixing msdosfs for some large sector sizes (up to 8K
for read and 64K for write). Microsoft documents support for sector
sizes up to 4K in mdosfs. ffs is currently limited to 8K for both
read and write.
Approved by: re (kensmith)
Approved by: nyan (several years ago)
Revision Changes Path
1.166 +6 -8 src/sys/fs/msdosfs/msdosfs_vfsops.c
More information about the cvs-all