aboutsummaryrefslogtreecommitdiff
path: root/sys/nfsclient/nfs_vnops.c
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2006-07-08 15:36:51 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2006-07-08 15:36:51 +0000
commit201599c3aff447165536a36db9511adafd3fb0dc (patch)
tree6cd96d60147584c99923fb90fe855f3f204d5310 /sys/nfsclient/nfs_vnops.c
parentccbca788b322f3d88c7c8a2d51e808832b000924 (diff)
downloadsrc-201599c3aff447165536a36db9511adafd3fb0dc.tar.gz
src-201599c3aff447165536a36db9511adafd3fb0dc.zip
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 MFC after: 1 month Approved by: kan (mentor)
Notes
Notes: svn path=/head/; revision=160181
Diffstat (limited to 'sys/nfsclient/nfs_vnops.c')
-rw-r--r--sys/nfsclient/nfs_vnops.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c
index f8124ff8bd11..b6ad2713ee16 100644
--- a/sys/nfsclient/nfs_vnops.c
+++ b/sys/nfsclient/nfs_vnops.c
@@ -2695,16 +2695,10 @@ nfs_strategy(struct vop_strategy_args *ap)
{
struct buf *bp = ap->a_bp;
struct ucred *cr;
- struct thread *td;
KASSERT(!(bp->b_flags & B_DONE), ("nfs_strategy: buffer %p unexpectedly marked B_DONE", bp));
KASSERT(BUF_REFCNT(bp) > 0, ("nfs_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
@@ -2716,8 +2710,8 @@ nfs_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))
- (void)nfs_doio(ap->a_vp, bp, cr, td);
+ nfs_asyncio(VFSTONFS(ap->a_vp->v_mount), bp, NOCRED, curthread))
+ (void)nfs_doio(ap->a_vp, bp, cr, curthread);
return (0);
}