HomeFreeBSD

If the VOP_SETATTR() call that saves the exclusive create verifier failed,

Description

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.

MFC after: 2 weeks

Details

Provenance
rmacklemAuthored on
Parents
rS297868: Fix rare double free in vdev_geom_attrchanged
Branches
Unknown
Tags
Unknown