aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2026-05-16 19:11:43 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2026-05-16 23:24:10 +0000
commit43a8585cb2bb0e284df672174a57780e53107d27 (patch)
treef83e1bdf4fc2f626d46206fe44caefe5892ea4f2
parent3d246db08333c06df343281d5aaebfd07ea08252 (diff)
sys/mount.h: restore KNF_NOKQLOCK in VFS_KNOTE_{,UN}LOCKED() call to KNOTE()
ZFS needs to take internal sleepable lock in its implementation of VOP_GETATTR(). Due to this, kq must be unlocked around calls to the vfs filter methods. Fixes: 1d5e4020e36e ("vnode: add VIRF_KNOTE flag") Reported and tested by: des Sponsored by: The FreeBSD Foundation MFC after: 1 week
-rw-r--r--sys/sys/mount.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/sys/mount.h b/sys/sys/mount.h
index d6696bba0a4f..2e880bac9068 100644
--- a/sys/sys/mount.h
+++ b/sys/sys/mount.h
@@ -968,8 +968,8 @@ static inline void
VFS_KNOTE_LOCKED(struct vnode *vp, int hint)
{
if ((vn_irflag_read(vp) & VIRF_KNOTE) != 0) {
- KNOTE_LOCKED(&vp->v_pollinfo->vpi_selinfo.si_note,
- hint);
+ KNOTE(&vp->v_pollinfo->vpi_selinfo.si_note,
+ hint, KNF_LISTLOCKED | KNF_NOKQLOCK);
}
}
@@ -977,8 +977,8 @@ static inline void
VFS_KNOTE_UNLOCKED(struct vnode *vp, int hint)
{
if ((vn_irflag_read(vp) & VIRF_KNOTE) != 0) {
- KNOTE_UNLOCKED(&vp->v_pollinfo->vpi_selinfo.si_note,
- hint);
+ KNOTE(&vp->v_pollinfo->vpi_selinfo.si_note,
+ hint, KNF_NOKQLOCK);
}
}