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-all
mailing list