On Sat, May 16, 2009 at 08:29:54AM +0000, YAMAMOTO Takashi wrote: > Modified Files: > src/sys/kern: vfs_subr.c > src/sys/sys: vnode.h > > Log Message: > put a flag bit into v_usecount to prevent vtryget during getcleanvnode. > this fixes the following deadlock.
Thanks! How about this to avoid potential sign compare issues? I forgot to e-mail you about it earlier. @@ -252,8 +252,8 @@ typedef struct vnode vnode_t; /* * v_usecount; see the comment in vfs_subr.c */ -#define VC_XLOCK 0x80000000 -#define VC_MASK 0x7fffffff +#define VC_XLOCK 0x40000000 +#define VC_MASK (0xffffffff & ~VC_XLOCK)