Date: Wed, 24 Feb 2021 07:58:59 GMT 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: 6dde909bb597 - stable/13 - ufs_inactive(): stop hiding ERELOOKUP from ffs_truncate(), return it. Message-ID: <202102240758.11O7wxlF046733@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6dde909bb5976988483dacf6c56465c62f795e8a commit 6dde909bb5976988483dacf6c56465c62f795e8a Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2021-01-30 19:18:22 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2021-02-24 07:47:18 +0000 ufs_inactive(): stop hiding ERELOOKUP from ffs_truncate(), return it. (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); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202102240758.11O7wxlF046733>