diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2006-07-08 15:36:51 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2006-07-08 15:36:51 +0000 |
commit | 201599c3aff447165536a36db9511adafd3fb0dc (patch) | |
tree | 6cd96d60147584c99923fb90fe855f3f204d5310 /sys/nfsclient/nfs_vnops.c | |
parent | ccbca788b322f3d88c7c8a2d51e808832b000924 (diff) | |
download | src-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.c | 10 |
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); } |