diff options
author | avg <avg@FreeBSD.org> | 2014-02-17 17:27:52 +0000 |
---|---|---|
committer | avg <avg@FreeBSD.org> | 2014-02-17 17:27:52 +0000 |
commit | 1aeb2280bb8ddd37239a0fbf4b326ac0c1c015ec (patch) | |
tree | 382e5c9208b0dd65d76e009786742bd3b793b105 /sys/cddl/contrib/opensolaris/uts | |
parent | 51714698c30564bf94b9e62fd46b2a1d5616c7e5 (diff) | |
download | FreeBSD-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.c | 4 |
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) |