From owner-dev-commits-src-branches@freebsd.org Thu Feb 25 20:52:35 2021 Return-Path: Delivered-To: dev-commits-src-branches@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9FDF856FE39; Thu, 25 Feb 2021 20:52:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4DmlNL2pWhz3PTv; Thu, 25 Feb 2021 20:52:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1F2161E3EA; Thu, 25 Feb 2021 20:52:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 11PKqUVh079466; Thu, 25 Feb 2021 20:52:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 11PKqUU8079465; Thu, 25 Feb 2021 20:52:30 GMT (envelope-from git) Date: Thu, 25 Feb 2021 20:52:30 GMT Message-Id: <202102252052.11PKqUU8079465@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: f8272ff1d26b - releng/13.0 - ufs_inactive(): stop hiding ERELOOKUP from ffs_truncate(), return it. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.0 X-Git-Reftype: branch X-Git-Commit: f8272ff1d26b2fa6936a2ef294e494e43429f973 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-branches@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commits to the stable branches of the FreeBSD src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Feb 2021 20:52:36 -0000 The branch releng/13.0 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=f8272ff1d26b2fa6936a2ef294e494e43429f973 commit f8272ff1d26b2fa6936a2ef294e494e43429f973 Author: Konstantin Belousov AuthorDate: 2021-01-30 19:18:22 +0000 Commit: Konstantin Belousov CommitDate: 2021-02-25 20:50:00 +0000 ufs_inactive(): stop hiding ERELOOKUP from ffs_truncate(), return it. Approved by: re (delphij, gjb) (cherry picked from commit 013168db8cea926c3dde1247d400d6bedf9a889d) --- sys/ufs/ffs/ffs_softdep.c | 9 +++++---- sys/ufs/ufs/ufs_inode.c | 2 -- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 3cc76f9142c3..8c3ae9dd95fc 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -1493,13 +1493,14 @@ get_parent_vp(struct vnode *vp, struct mount *mp, ino_t inum, struct buf *bp, } /* - * Do not drop vnode lock while inactivating. This - * would result in leaks of the VI flags and - * reclaiming of non-truncated vnode. Instead, + * Do not drop vnode lock while inactivating during + * vunref. This would result in leaks of the VI flags + * and reclaiming of non-truncated vnode. Instead, * re-schedule inactivation hoping that we would be * able to sync inode later. */ - if ((vp->v_iflag & VI_DOINGINACT) != 0) { + if ((vp->v_iflag & VI_DOINGINACT) != 0 && + (vp->v_vflag & VV_UNREF) != 0) { VI_LOCK(vp); vp->v_iflag |= VI_OWEINACT; VI_UNLOCK(vp); diff --git a/sys/ufs/ufs/ufs_inode.c b/sys/ufs/ufs/ufs_inode.c index 15bd8be448a9..46e4f8e54e41 100644 --- a/sys/ufs/ufs/ufs_inode.c +++ b/sys/ufs/ufs/ufs_inode.c @@ -212,8 +212,6 @@ out: vrecycle(vp); if (mp != NULL) vn_finished_secondary_write(mp); - if (error == ERELOOKUP) - error = 0; return (error); }