cvs commit: src/sys/fs/msdosfs msdosfs_vfsops.c

Bruce Evans bde at
Thu Jul 12 17:17:48 UTC 2007

bde         2007-07-12 17:17:47 UTC

  FreeBSD src repository

  Modified files:
    sys/fs/msdosfs       msdosfs_vfsops.c 
  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-src mailing list