svn commit: r300427 - in head/sys/fs: cd9660 udf

Konstantin Belousov kib at FreeBSD.org
Sun May 22 18:16:27 UTC 2016


Author: kib
Date: Sun May 22 18:16:25 2016
New Revision: 300427
URL: https://svnweb.freebsd.org/changeset/base/300427

Log:
  Remove drop/reacquire of Giant around geom calls for cd9660 and udf.
  
  Sponsored by:	The FreeBSD Foundation
  MFC after:	2 weeks

Modified:
  head/sys/fs/cd9660/cd9660_vfsops.c
  head/sys/fs/udf/udf_vfsops.c

Modified: head/sys/fs/cd9660/cd9660_vfsops.c
==============================================================================
--- head/sys/fs/cd9660/cd9660_vfsops.c	Sun May 22 18:16:04 2016	(r300426)
+++ head/sys/fs/cd9660/cd9660_vfsops.c	Sun May 22 18:16:25 2016	(r300427)
@@ -226,11 +226,9 @@ iso_mountfs(devvp, mp)
 
 	dev = devvp->v_rdev;
 	dev_ref(dev);
-	DROP_GIANT();
 	g_topology_lock();
 	error = g_vfs_open(devvp, &cp, "cd9660", 0);
 	g_topology_unlock();
-	PICKUP_GIANT();
 	VOP_UNLOCK(devvp, 0);
 	if (error)
 		goto out;
@@ -481,11 +479,9 @@ out:
 	if (supbp != NULL)
 		brelse(supbp);
 	if (cp != NULL) {
-		DROP_GIANT();
 		g_topology_lock();
 		g_vfs_close(cp);
 		g_topology_unlock();
-		PICKUP_GIANT();
 	}
 	if (isomp) {
 		free(isomp, M_ISOFSMNT);
@@ -519,11 +515,9 @@ cd9660_unmount(mp, mntflags)
 		if (isomp->im_l2d)
 			cd9660_iconv->close(isomp->im_l2d);
 	}
-	DROP_GIANT();
 	g_topology_lock();
 	g_vfs_close(isomp->im_cp);
 	g_topology_unlock();
-	PICKUP_GIANT();
 	vrele(isomp->im_devvp);
 	dev_rel(isomp->im_dev);
 	free(isomp, M_ISOFSMNT);

Modified: head/sys/fs/udf/udf_vfsops.c
==============================================================================
--- head/sys/fs/udf/udf_vfsops.c	Sun May 22 18:16:04 2016	(r300426)
+++ head/sys/fs/udf/udf_vfsops.c	Sun May 22 18:16:25 2016	(r300427)
@@ -325,11 +325,9 @@ udf_mountfs(struct vnode *devvp, struct 
 
 	dev = devvp->v_rdev;
 	dev_ref(dev);
-	DROP_GIANT();
 	g_topology_lock();
 	error = g_vfs_open(devvp, &cp, "udf", 0);
 	g_topology_unlock();
-	PICKUP_GIANT();
 	VOP_UNLOCK(devvp, 0);
 	if (error)
 		goto bail;
@@ -500,11 +498,9 @@ bail:
 	if (bp != NULL)
 		brelse(bp);
 	if (cp != NULL) {
-		DROP_GIANT();
 		g_topology_lock();
 		g_vfs_close(cp);
 		g_topology_unlock();
-		PICKUP_GIANT();
 	}
 	dev_rel(dev);
 	return error;
@@ -533,11 +529,9 @@ udf_unmount(struct mount *mp, int mntfla
 #endif
 	}
 
-	DROP_GIANT();
 	g_topology_lock();
 	g_vfs_close(udfmp->im_cp);
 	g_topology_unlock();
-	PICKUP_GIANT();
 	vrele(udfmp->im_devvp);
 	dev_rel(udfmp->im_dev);
 


More information about the svn-src-head mailing list