]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC: r297869
authorrmacklem <rmacklem@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 7 May 2016 00:02:28 +0000 (00:02 +0000)
committerrmacklem <rmacklem@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 7 May 2016 00:02:28 +0000 (00:02 +0000)
commit2a6b74ac0cf56961a6d52f04c39fa3d45b30c2ee
tree13340f8987056b892eb46debe482a27013a09902
parentd048ac315cdea613763dad228473d8659fa37090
MFC: r297869
If the VOP_SETATTR() call that saves the exclusive create verifier failed,
the NFS server would leave the newly created vnode locked. This could
result in a file system that would not unmount and processes wedged,
waiting for the file to be unlocked.
Since this VOP_SETATTR() never fails for most file systems, this bug
doesn't normally manifest itself. I found it during testing of an
exported GlusterFS file system, which can fail.
This patch adds the vput() and changes the error to the correct NFS one.

git-svn-id: svn://svn.freebsd.org/base/stable/10@299208 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/fs/nfsserver/nfs_nfsdport.c