summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient/nfs_vnops.c
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2009-07-14 22:54:29 +0000
committerkib <kib@FreeBSD.org>2009-07-14 22:54:29 +0000
commit50c96d8f042d19384144c442c22ee0e0a7314ca9 (patch)
treea0fd9946a1d3f491996b7e401f7dd0872d11817a /sys/nfsclient/nfs_vnops.c
parentc7441b67e68fb8dbdec2ca853f77acf72e7cf0e9 (diff)
downloadFreeBSD-src-50c96d8f042d19384144c442c22ee0e0a7314ca9.zip
FreeBSD-src-50c96d8f042d19384144c442c22ee0e0a7314ca9.tar.gz
Use PBDRY flag for msleep(9) in NFS and NLM when sleeping thread owns
kernel resources that block other threads, like vnode locks. The SIGSTOP sent to such thread (process, rather) shall not stop it until thread releases the resources. Tested by: pho Reviewed by: jhb Approved by: re (kensmith)
Diffstat (limited to 'sys/nfsclient/nfs_vnops.c')
-rw-r--r--sys/nfsclient/nfs_vnops.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c
index d644836..692b38b 100644
--- a/sys/nfsclient/nfs_vnops.c
+++ b/sys/nfsclient/nfs_vnops.c
@@ -2934,7 +2934,7 @@ nfs_flush(struct vnode *vp, int waitfor, int commit)
int bvecsize = 0, bveccount;
if (nmp->nm_flag & NFSMNT_INT)
- slpflag = PCATCH;
+ slpflag = NFS_PCATCH;
if (!commit)
passone = 0;
bo = &vp->v_bufobj;
@@ -3132,7 +3132,7 @@ loop:
error = EINTR;
goto done;
}
- if (slpflag == PCATCH) {
+ if (slpflag & PCATCH) {
slpflag = 0;
slptimeo = 2 * hz;
}
@@ -3170,7 +3170,7 @@ loop:
error = nfs_sigintr(nmp, td);
if (error)
goto done;
- if (slpflag == PCATCH) {
+ if (slpflag & PCATCH) {
slpflag = 0;
slptimeo = 2 * hz;
}
OpenPOWER on IntegriCloud