svn commit: r312606 - head/sys/kern
Mateusz Guzik
mjg at FreeBSD.org
Sat Jan 21 20:34:21 UTC 2017
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);
}
More information about the svn-src-all
mailing list