Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Apr 2015 07:05:21 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r281457 - stable/10/sys/fs/msdosfs
Message-ID:  <201504120705.t3C75LlF014930@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201504120705.t3C75LlF014930>