Date: Wed, 6 Jan 2016 16:02:22 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r293235 - stable/10/sys/fs/nullfs Message-ID: <201601061602.u06G2MbF010566@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kib Date: Wed Jan 6 16:02:22 2016 New Revision: 293235 URL: https://svnweb.freebsd.org/changeset/base/293235 Log: MFC r292961: Force nullfs vnode reclaim after unlinking, to potentially unlink lower vnode. Modified: stable/10/sys/fs/nullfs/null_vnops.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/fs/nullfs/null_vnops.c ============================================================================== --- stable/10/sys/fs/nullfs/null_vnops.c Wed Jan 6 15:50:21 2016 (r293234) +++ stable/10/sys/fs/nullfs/null_vnops.c Wed Jan 6 16:02:22 2016 (r293235) @@ -568,14 +568,16 @@ static int null_remove(struct vop_remove_args *ap) { int retval, vreleit; - struct vnode *lvp; + struct vnode *lvp, *vp; - if (vrefcnt(ap->a_vp) > 1) { - lvp = NULLVPTOLOWERVP(ap->a_vp); + vp = ap->a_vp; + if (vrefcnt(vp) > 1) { + lvp = NULLVPTOLOWERVP(vp); VREF(lvp); vreleit = 1; } else vreleit = 0; + VTONULL(vp)->null_flags |= NULLV_DROP; retval = null_bypass(&ap->a_gen); if (vreleit != 0) vrele(lvp);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201601061602.u06G2MbF010566>