Re: rms_rlock with non-sleepable locks held

Dag-Erling Smørgrav <[email protected]> Sat, 16 May 2026 15:48:03 +0200
Newsgroups gmane.os.freebsd.current
Message-ID <[email protected]>
Konstantin Belousov <[email protected]> writes:> diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
> index b3a6e8ce2e02..d19776940bc3 100644
> --- a/sys/kern/vfs_subr.c
> +++ b/sys/kern/vfs_subr.c
> @@ -6509,7 +6509,7 @@ vop_read_post(void *ap, int rc)
>  	struct vop_read_args *a = ap;
>  
>  	if (!rc) {
> -		VFS_KNOTE_LOCKED(a->a_vp, NOTE_READ);
> +		VN_KNOTE_LOCKED(a->a_vp, NOTE_READ);

Did you mean to use VN_KNOTE_UNLOCKED() here...

>  		INOTIFY(a->a_vp, IN_ACCESS);
>  	}
>  }
> @@ -6520,7 +6520,7 @@ vop_read_pgcache_post(void *ap, int rc)
>  	struct vop_read_pgcache_args *a = ap;
>  
>  	if (rc == 0) {
> -		VFS_KNOTE_LOCKED(a->a_vp, NOTE_READ);
> +		VN_KNOTE_UNLOCKED(a->a_vp, NOTE_READ);

...like you do here?

>  		INOTIFY(a->a_vp, IN_ACCESS);
>  	}
>  }
>

DES
-- 
Dag-Erling Smørgrav - [email protected]