Date: Wed, 03 Sep 1997 12:41:56 +0900 From: KATO Takenori <kato@migmatite.eps.nagoya-u.ac.jp> To: current@FreeBSD.ORG Subject: deadlock in vgonel() by unionfs operation Message-ID: <199709030341.MAA07105@gneiss.eps.nagoya-u.ac.jp>
next in thread | raw e-mail | index | archive | help
I got deadlock condition with unionfs. The deadlock can be easily
reproduced by:
% mount -t union foo bar
% ls foo
...
% ls bar
(never returns)
The ls sleeps in vgonel() by:
/*
* If a vgone (or vclean) is already in progress,
* wait until it is done and return.
*/
if (vp->v_flag & VXLOCK) {
vp->v_flag |= VXWANT;
simple_unlock(&vp->v_interlock);
tsleep((caddr_t)vp, PINOD, "vgone", 0); <---- Here!
return;
}
The problem occurs since the change of vfs stuff in August. I think
there is something locking violation or missing usecount operation.
----
KATO Takenori <kato@ganko.eps.nagoya-u.ac.jp>
Dept. Earth Planet. Sci., Nagoya Univ., Nagoya, 464-01, Japan
PGP public key: finger kato@eclogite.eps.nagoya-u.ac.jp
------------------- Powered by FreeBSD(98) -------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199709030341.MAA07105>
