From a881fd5a0a5e94190eb045d9775f51a21af94633 Mon Sep 17 00:00:00 2001 From: Konstantin Belousov Date: Wed, 12 Jul 2006 09:16:35 +0000 Subject: [PATCH] Always supply curthread as argument to nfs_asyncio and nfs_doio in nfs_strategy. Otherwise, for some buffers, signals would be ignored at the intr mounts. Reviewed by: mohan, cel MFC after: 1 month Approved by: pjd (mentor) --- sys/nfs4client/nfs4_vnops.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/sys/nfs4client/nfs4_vnops.c b/sys/nfs4client/nfs4_vnops.c index 6ab5d2e54865..f0e920ed268d 100644 --- a/sys/nfs4client/nfs4_vnops.c +++ b/sys/nfs4client/nfs4_vnops.c @@ -2444,17 +2444,11 @@ nfs4_strategy(struct vop_strategy_args *ap) { struct buf *bp = ap->a_bp; struct ucred *cr; - struct thread *td; int error = 0; KASSERT(!(bp->b_flags & B_DONE), ("nfs4_strategy: buffer %p unexpectedly marked B_DONE", bp)); KASSERT(BUF_REFCNT(bp) > 0, ("nfs4_strategy: buffer %p not locked", bp)); - if (bp->b_flags & B_ASYNC) - td = NULL; - else - td = curthread; /* XXX */ - if (bp->b_iocmd == BIO_READ) cr = bp->b_rcred; else @@ -2466,8 +2460,8 @@ nfs4_strategy(struct vop_strategy_args *ap) * otherwise just do it ourselves. */ if ((bp->b_flags & B_ASYNC) == 0 || - nfs_asyncio(VFSTONFS(ap->a_vp->v_mount), bp, NOCRED, td)) - error = nfs_doio(ap->a_vp, bp, cr, td); + nfs_asyncio(VFSTONFS(ap->a_vp->v_mount), bp, NOCRED, curthread)) + error = nfs_doio(ap->a_vp, bp, cr, curthread); return (error); }