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: 1d5e4020e3 ("vnode: add VIRF_KNOTE flag")
Reported and tested by: des
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
This commit is contained in:
+4
-4
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user