svn commit: r281457 - stable/10/sys/fs/msdosfs
Konstantin Belousov
kib at FreeBSD.org
Sun Apr 12 07:05:21 UTC 2015
Author: kib
Date: Sun Apr 12 07:05:20 2015
New Revision: 281457
URL: https://svnweb.freebsd.org/changeset/base/281457
Log:
MFC r281121:
Do not call msdosfs_sync() on the read-only msdosfs mounts.
PR: 199152
Modified:
stable/10/sys/fs/msdosfs/msdosfs_vfsops.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/sys/fs/msdosfs/msdosfs_vfsops.c
==============================================================================
--- stable/10/sys/fs/msdosfs/msdosfs_vfsops.c Sun Apr 12 07:03:26 2015 (r281456)
+++ stable/10/sys/fs/msdosfs/msdosfs_vfsops.c Sun Apr 12 07:05:20 2015 (r281457)
@@ -796,17 +796,17 @@ msdosfs_unmount(struct mount *mp, int mn
struct msdosfsmount *pmp;
int error, flags;
- flags = 0;
- error = msdosfs_sync(mp, MNT_WAIT);
- if ((mntflags & MNT_FORCE) != 0) {
+ error = flags = 0;
+ pmp = VFSTOMSDOSFS(mp);
+ if ((pmp->pm_flags & MSDOSFSMNT_RONLY) == 0)
+ error = msdosfs_sync(mp, MNT_WAIT);
+ if ((mntflags & MNT_FORCE) != 0)
flags |= FORCECLOSE;
- } else if (error != 0) {
+ else if (error != 0)
return (error);
- }
error = vflush(mp, 0, flags, curthread);
if (error != 0 && error != ENXIO)
return (error);
- pmp = VFSTOMSDOSFS(mp);
if ((pmp->pm_flags & MSDOSFSMNT_RONLY) == 0) {
error = markvoldirty(pmp, 0);
if (error && error != ENXIO) {
More information about the svn-src-stable
mailing list