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);
 
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to