svn commit: r246216 - head/sys/fs/msdosfs

Konstantin Belousov kib at FreeBSD.org
Fri Feb 1 18:01:04 UTC 2013


Author: kib
Date: Fri Feb  1 18:01:03 2013
New Revision: 246216
URL: http://svnweb.freebsd.org/changeset/base/246216

Log:
  The mountmsdosfs() function had an insane sanity test, remove it.
  
  Trying FAT32 on a small partition failed to mount because
  pmp->pm_Sectors was nonzero.  Normally, FAT32 file systems are so
  large that the 16-bit pm_Sectors can't hold the size.  This is
  indicated by setting it to 0 and using only pm_HugeSectors.  But at
  least old versions of newfs_msdos use the 16-bit field if possible,
  and msdosfs supports this except for breaking its own support in the
  sanity check.  This is quite different from the handling of pm_FATsecs
  -- now the 16-bit value is always ignored for FAT32 except for
  checking that it is 0, and newfs_msdos doesn't use the 16-bit value
  for FAT32.
  
  Submitted by:	bde
  MFC after:	1 week

Modified:
  head/sys/fs/msdosfs/msdosfs_vfsops.c

Modified: head/sys/fs/msdosfs/msdosfs_vfsops.c
==============================================================================
--- head/sys/fs/msdosfs/msdosfs_vfsops.c	Fri Feb  1 17:58:37 2013	(r246215)
+++ head/sys/fs/msdosfs/msdosfs_vfsops.c	Fri Feb  1 18:01:03 2013	(r246216)
@@ -553,8 +553,7 @@ mountmsdosfs(struct vnode *devvp, struct
 	}
 
 	if (pmp->pm_RootDirEnts == 0) {
-		if (pmp->pm_Sectors
-		    || pmp->pm_FATsecs
+		if (pmp->pm_FATsecs
 		    || getushort(b710->bpbFSVers)) {
 			error = EINVAL;
 #ifdef MSDOSFS_DEBUG


More information about the svn-src-head mailing list