diff options
author | truckman <truckman@FreeBSD.org> | 2002-09-19 13:32:45 +0000 |
---|---|---|
committer | truckman <truckman@FreeBSD.org> | 2002-09-19 13:32:45 +0000 |
commit | f2807820032fe586ea72f9048accb23a9d17c75f (patch) | |
tree | fed75b0fd3d3243127e21c52a13f663281ff50f1 /sys/kern/vnode_if.src | |
parent | 38695c19fde9598c887707063c968842a2395e6c (diff) | |
download | FreeBSD-src-f2807820032fe586ea72f9048accb23a9d17c75f.zip FreeBSD-src-f2807820032fe586ea72f9048accb23a9d17c75f.tar.gz |
VOP_FSYNC() requires that it's vnode argument be locked, which nfs_link()
wasn't doing. Rather than just lock and unlock the vnode around the call
to VOP_FSYNC(), implement rwatson's suggestion to lock the file vnode
in kern_link() before calling VOP_LINK(), since the other filesystems
also locked the file vnode right away in their link methods. Remove the
locking and and unlocking from the leaf filesystem link methods.
Reviewed by: rwatson, bde (except for the unionfs_link() changes)
Diffstat (limited to 'sys/kern/vnode_if.src')
-rw-r--r-- | sys/kern/vnode_if.src | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/vnode_if.src b/sys/kern/vnode_if.src index 3202058..28b5d2e 100644 --- a/sys/kern/vnode_if.src +++ b/sys/kern/vnode_if.src @@ -261,7 +261,7 @@ vop_remove { # #% link tdvp L L L -#% link vp U U U +#% link vp L L L # vop_link { IN struct vnode *tdvp; |