Possible kqueue related issue on STABLE/RC.

Jimmy Olgeni olgeni at olgeni.com
Thu Sep 12 07:47:00 UTC 2013


On Thu, 12 Sep 2013, Konstantin Belousov wrote:

>> 4591 is the VI_LOCK(vp) in filt_vfsvnode:
>>
>> static int
>> filt_vfsvnode(struct knote *kn, long hint)
>> {
>>  	struct vnode *vp = (struct vnode *)kn->kn_hook;
>>  	int res;
>>
>>  	VI_LOCK(vp);
         ^^^^^^^^^^^
>>  	if (kn->kn_sfflags & hint)
>>  		kn->kn_fflags |= hint;
>>  	if (hint == NOTE_REVOKE) {
>>  		kn->kn_flags |= EV_EOF;
>>  		VI_UNLOCK(vp);
>>  		return (1);
>>  	}
>>  	res = (kn->kn_fflags != 0);
>>  	VI_UNLOCK(vp);
>>  	return (res);
>> }
> Which line is 4591 ?

"VI_LOCK(vp);" which bumps into the assertion.

-- 
jimmy


More information about the freebsd-stable mailing list