Re: rms_rlock with non-sleepable locks held
Date: Sat, 16 May 2026 13:48:03 UTC
Konstantin Belousov <kostikbel@gmail.com> 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 - des@FreeBSD.org