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