Date: Tue, 10 Mar 2026 11:43:35 +0000 From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: 0b0bbdac18d1 - stable/15 - zfs rename: properly cleanup on errors occuring before zfs_do_rename() Message-ID: <69b003e7.1be4c.68b43bb6@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0b0bbdac18d153e365e20989e23636d51214f972 commit 0b0bbdac18d153e365e20989e23636d51214f972 Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2026-03-05 02:57:34 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2026-03-10 11:41:31 +0000 zfs rename: properly cleanup on errors occuring before zfs_do_rename() (cherry picked from commit ed87040311b88e2c95a791aa049f2c37c857f048) --- .../openzfs/module/os/freebsd/zfs/zfs_vnops_os.c | 23 +++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c index 42565b579de7..7ea6f119130b 100644 --- a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c +++ b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c @@ -5518,15 +5518,24 @@ zfs_freebsd_rename(struct vop_rename_args *ap) } #endif - if (error == 0) + if (error == 0) { error = zfs_do_rename(fdvp, &fvp, ap->a_fcnp, tdvp, &tvp, ap->a_tcnp, ap->a_fcnp->cn_cred); - - vrele(fdvp); - vrele(fvp); - vrele(tdvp); - if (tvp != NULL) - vrele(tvp); + vrele(fdvp); + vrele(fvp); + vrele(tdvp); + if (tvp != NULL) + vrele(tvp); + } else { + if (tdvp == tvp) + vrele(tdvp); + else + vput(tdvp); + if (tvp != NULL) + vput(tvp); + vrele(fdvp); + vrele(fvp); + } return (error); }home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69b003e7.1be4c.68b43bb6>
