summaryrefslogtreecommitdiffstats
path: root/sys/cddl/contrib/opensolaris/uts
diff options
context:
space:
mode:
authoravg <avg@FreeBSD.org>2014-02-17 17:27:52 +0000
committeravg <avg@FreeBSD.org>2014-02-17 17:27:52 +0000
commit1aeb2280bb8ddd37239a0fbf4b326ac0c1c015ec (patch)
tree382e5c9208b0dd65d76e009786742bd3b793b105 /sys/cddl/contrib/opensolaris/uts
parent51714698c30564bf94b9e62fd46b2a1d5616c7e5 (diff)
downloadFreeBSD-src-1aeb2280bb8ddd37239a0fbf4b326ac0c1c015ec.zip
FreeBSD-src-1aeb2280bb8ddd37239a0fbf4b326ac0c1c015ec.tar.gz
MFC r260706: zfs_deleteextattr: name buffer from namei is needed by zfs_remove
Diffstat (limited to 'sys/cddl/contrib/opensolaris/uts')
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
index 67cd38b..0763e7c 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
@@ -6745,14 +6745,16 @@ vop_deleteextattr {
UIO_SYSSPACE, attrname, xvp, td);
error = namei(&nd);
vp = nd.ni_vp;
- NDFREE(&nd, NDF_ONLY_PNBUF);
if (error != 0) {
ZFS_EXIT(zfsvfs);
+ NDFREE(&nd, NDF_ONLY_PNBUF);
if (error == ENOENT)
error = ENOATTR;
return (error);
}
+
error = VOP_REMOVE(nd.ni_dvp, vp, &nd.ni_cnd);
+ NDFREE(&nd, NDF_ONLY_PNBUF);
vput(nd.ni_dvp);
if (vp == nd.ni_dvp)
OpenPOWER on IntegriCloud