Remove drop/reacquire of Giant around geom calls for cd9660 and udf.
Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
This commit is contained in:
parent
34309cf91a
commit
b86b034cff
@ -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 @@ iso_mountfs(devvp, mp)
|
||||
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);
|
||||
|
@ -325,11 +325,9 @@ udf_mountfs(struct vnode *devvp, struct mount *mp)
|
||||
|
||||
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 @@ udf_mountfs(struct vnode *devvp, struct mount *mp)
|
||||
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 mntflags)
|
||||
#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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user