diff options
author | kib <kib@FreeBSD.org> | 2012-10-22 17:50:54 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2012-10-22 17:50:54 +0000 |
commit | 560aa751e0f5cfef868bdf3fab01cdbc5169ef82 (patch) | |
tree | 6e9ef0a47c5e91d26227820c50c9767e84550821 /sys/kern/vfs_default.c | |
parent | ca71b68ea40c83f641d6485e027368568f244197 (diff) | |
download | FreeBSD-src-560aa751e0f5cfef868bdf3fab01cdbc5169ef82.zip FreeBSD-src-560aa751e0f5cfef868bdf3fab01cdbc5169ef82.tar.gz |
Remove the support for using non-mpsafe filesystem modules.
In particular, do not lock Giant conditionally when calling into the
filesystem module, remove the VFS_LOCK_GIANT() and related
macros. Stop handling buffers belonging to non-mpsafe filesystems.
The VFS_VERSION is bumped to indicate the interface change which does
not result in the interface signatures changes.
Conducted and reviewed by: attilio
Tested by: pho
Diffstat (limited to 'sys/kern/vfs_default.c')
-rw-r--r-- | sys/kern/vfs_default.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c index 31a650c..0112dcb 100644 --- a/sys/kern/vfs_default.c +++ b/sys/kern/vfs_default.c @@ -1009,7 +1009,7 @@ vop_stdadvise(struct vop_advise_args *ap) { struct vnode *vp; off_t start, end; - int error, vfslocked; + int error; vp = ap->a_vp; switch (ap->a_advice) { @@ -1030,11 +1030,9 @@ vop_stdadvise(struct vop_advise_args *ap) * requested range. */ error = 0; - vfslocked = VFS_LOCK_GIANT(vp->v_mount); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); if (vp->v_iflag & VI_DOOMED) { VOP_UNLOCK(vp, 0); - VFS_UNLOCK_GIANT(vfslocked); break; } vinvalbuf(vp, V_CLEANONLY, 0, 0); @@ -1047,7 +1045,6 @@ vop_stdadvise(struct vop_advise_args *ap) VM_OBJECT_UNLOCK(vp->v_object); } VOP_UNLOCK(vp, 0); - VFS_UNLOCK_GIANT(vfslocked); break; default: error = EINVAL; |