Date: Sat, 21 Jan 2017 20:34:20 +0000 (UTC) From: Mateusz Guzik <mjg@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r312606 - head/sys/kern Message-ID: <201701212034.v0LKYKA9021807@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mjg Date: Sat Jan 21 20:34:20 2017 New Revision: 312606 URL: https://svnweb.freebsd.org/changeset/base/312606 Log: vfs: fix LK_RETRY logic braino in r312600 Modified: head/sys/kern/vfs_vnops.c Modified: head/sys/kern/vfs_vnops.c ============================================================================== --- head/sys/kern/vfs_vnops.c Sat Jan 21 19:56:28 2017 (r312605) +++ head/sys/kern/vfs_vnops.c Sat Jan 21 20:34:20 2017 (r312606) @@ -1549,13 +1549,15 @@ retry: KASSERT((flags & LK_RETRY) == 0 || error == 0, ("LK_RETRY set with incompatible flags (0x%x) or " " an error occurred (%d)", flags, error)); - if (flags & LK_RETRY) { - if ((error != 0)) - goto retry; - if ((vp->v_iflag & VI_DOOMED)) { + + if ((flags & LK_RETRY) == 0) { + if (error == 0 && vp->v_iflag & VI_DOOMED) { VOP_UNLOCK(vp, 0); error = ENOENT; } + } else { + if (error != 0) + goto retry; } return (error); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201701212034.v0LKYKA9021807>