Module Name: src Committed By: pooka Date: Tue Apr 13 10:11:08 UTC 2010
Modified Files: src/sys/fs/msdosfs: msdosfs_vfsops.c Log Message: If getdisksize() fails (happens e.g. on fss block devices), don't give up if we don't really need the information provided by it. To generate a diff of this commit: cvs rdiff -u -r1.83 -r1.84 src/sys/fs/msdosfs/msdosfs_vfsops.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/fs/msdosfs/msdosfs_vfsops.c diff -u src/sys/fs/msdosfs/msdosfs_vfsops.c:1.83 src/sys/fs/msdosfs/msdosfs_vfsops.c:1.84 --- src/sys/fs/msdosfs/msdosfs_vfsops.c:1.83 Sun Apr 11 10:26:25 2010 +++ src/sys/fs/msdosfs/msdosfs_vfsops.c Tue Apr 13 10:11:08 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: msdosfs_vfsops.c,v 1.83 2010/04/11 10:26:25 mlelstv Exp $ */ +/* $NetBSD: msdosfs_vfsops.c,v 1.84 2010/04/13 10:11:08 pooka Exp $ */ /*- * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank. @@ -48,7 +48,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: msdosfs_vfsops.c,v 1.83 2010/04/11 10:26:25 mlelstv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: msdosfs_vfsops.c,v 1.84 2010/04/13 10:11:08 pooka Exp $"); #if defined(_KERNEL_OPT) #include "opt_compat_netbsd.h" @@ -489,8 +489,12 @@ goto error_exit; error = getdisksize(devvp, &psize, &secsize); - if (error) - goto error_exit; + if (error) { + if (argp->flags & MSDOSFSMNT_GEMDOSFS) + goto error_exit; + secsize = DEV_BSIZE; + psize = 0; + } if (argp->flags & MSDOSFSMNT_GEMDOSFS) { bsize = secsize;