diff options
author | jhb <jhb@FreeBSD.org> | 2013-03-13 21:06:03 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2013-03-13 21:06:03 +0000 |
commit | b2e811621c23b090f0a6428e112a67cbdb48769d (patch) | |
tree | fa2ef41d7bc070ef5ac51a82695e8b8ed5cde34c /sys | |
parent | 731061beabff7b87230da8252aed09e0a08701ea (diff) | |
download | FreeBSD-src-b2e811621c23b090f0a6428e112a67cbdb48769d.zip FreeBSD-src-b2e811621c23b090f0a6428e112a67cbdb48769d.tar.gz |
Revert 195703 and 195821 as this special stop handling in NFS is now
implemented via VFCF_SBDRY rather than passing PBDRY to individual
sleep calls.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/fs/nfs/nfsport.h | 7 | ||||
-rw-r--r-- | sys/fs/nfsclient/nfs_clbio.c | 8 | ||||
-rw-r--r-- | sys/fs/nfsclient/nfs_clvnops.c | 6 | ||||
-rw-r--r-- | sys/nfsclient/nfs_bio.c | 8 | ||||
-rw-r--r-- | sys/nfsclient/nfs_vnops.c | 6 | ||||
-rw-r--r-- | sys/nfsclient/nfsmount.h | 2 | ||||
-rw-r--r-- | sys/rpc/clnt_rc.c | 3 | ||||
-rw-r--r-- | sys/rpc/clnt_vc.c | 5 |
8 files changed, 17 insertions, 28 deletions
diff --git a/sys/fs/nfs/nfsport.h b/sys/fs/nfs/nfsport.h index 2817223..2cbba2d 100644 --- a/sys/fs/nfs/nfsport.h +++ b/sys/fs/nfs/nfsport.h @@ -981,13 +981,6 @@ struct nfsreq { #define NFSVNO_DELEGOK(v) (1) #endif -/* - * Define this as the flags argument for msleep() when catching signals - * while holding a resource that other threads would block for, such as - * a vnode lock. - */ -#define NFS_PCATCH (PCATCH | PBDRY) - #endif /* _KERNEL */ #endif /* _NFS_NFSPORT_H */ diff --git a/sys/fs/nfsclient/nfs_clbio.c b/sys/fs/nfsclient/nfs_clbio.c index f0a44a4..4a3ef41 100644 --- a/sys/fs/nfsclient/nfs_clbio.c +++ b/sys/fs/nfsclient/nfs_clbio.c @@ -1297,7 +1297,7 @@ nfs_getcacheblk(struct vnode *vp, daddr_t bn, int size, struct thread *td) sigset_t oldset; newnfs_set_sigmask(td, &oldset); - bp = getblk(vp, bn, size, NFS_PCATCH, 0, 0); + bp = getblk(vp, bn, size, PCATCH, 0, 0); newnfs_restore_sigmask(td, &oldset); while (bp == NULL) { if (newnfs_sigintr(nmp, td)) @@ -1332,7 +1332,7 @@ ncl_vinvalbuf(struct vnode *vp, int flags, struct thread *td, int intrflg) if ((nmp->nm_mountp->mnt_kern_flag & MNTK_UNMOUNTF)) intrflg = 1; if (intrflg) { - slpflag = NFS_PCATCH; + slpflag = PCATCH; slptimeo = 2 * hz; } else { slpflag = 0; @@ -1413,7 +1413,7 @@ ncl_asyncio(struct nfsmount *nmp, struct buf *bp, struct ucred *cred, struct thr } again: if (nmp->nm_flag & NFSMNT_INT) - slpflag = NFS_PCATCH; + slpflag = PCATCH; gotiod = FALSE; /* @@ -1478,7 +1478,7 @@ again: mtx_unlock(&ncl_iod_mutex); return (error2); } - if (slpflag == NFS_PCATCH) { + if (slpflag == PCATCH) { slpflag = 0; slptimeo = 2 * hz; } diff --git a/sys/fs/nfsclient/nfs_clvnops.c b/sys/fs/nfsclient/nfs_clvnops.c index 2e105f8..4b52a05 100644 --- a/sys/fs/nfsclient/nfs_clvnops.c +++ b/sys/fs/nfsclient/nfs_clvnops.c @@ -2660,7 +2660,7 @@ ncl_flush(struct vnode *vp, int waitfor, struct ucred *cred, struct thread *td, if (called_from_renewthread != 0) slptimeo = hz; if (nmp->nm_flag & NFSMNT_INT) - slpflag = NFS_PCATCH; + slpflag = PCATCH; if (!commit) passone = 0; bo = &vp->v_bufobj; @@ -2866,7 +2866,7 @@ loop: error = EINTR; goto done; } - if (slpflag & PCATCH) { + if (slpflag == PCATCH) { slpflag = 0; slptimeo = 2 * hz; } @@ -2912,7 +2912,7 @@ loop: error = newnfs_sigintr(nmp, td); if (error) goto done; - if (slpflag & PCATCH) { + if (slpflag == PCATCH) { slpflag = 0; slptimeo = 2 * hz; } diff --git a/sys/nfsclient/nfs_bio.c b/sys/nfsclient/nfs_bio.c index 31a86d1..a90afea 100644 --- a/sys/nfsclient/nfs_bio.c +++ b/sys/nfsclient/nfs_bio.c @@ -1242,7 +1242,7 @@ nfs_getcacheblk(struct vnode *vp, daddr_t bn, int size, struct thread *td) sigset_t oldset; nfs_set_sigmask(td, &oldset); - bp = getblk(vp, bn, size, NFS_PCATCH, 0, 0); + bp = getblk(vp, bn, size, PCATCH, 0, 0); nfs_restore_sigmask(td, &oldset); while (bp == NULL) { if (nfs_sigintr(nmp, td)) @@ -1275,7 +1275,7 @@ nfs_vinvalbuf(struct vnode *vp, int flags, struct thread *td, int intrflg) if ((nmp->nm_flag & NFSMNT_INT) == 0) intrflg = 0; if (intrflg) { - slpflag = NFS_PCATCH; + slpflag = PCATCH; slptimeo = 2 * hz; } else { slpflag = 0; @@ -1354,7 +1354,7 @@ nfs_asyncio(struct nfsmount *nmp, struct buf *bp, struct ucred *cred, struct thr } again: if (nmp->nm_flag & NFSMNT_INT) - slpflag = NFS_PCATCH; + slpflag = PCATCH; gotiod = FALSE; /* @@ -1419,7 +1419,7 @@ again: mtx_unlock(&nfs_iod_mtx); return (error2); } - if (slpflag == NFS_PCATCH) { + if (slpflag == PCATCH) { slpflag = 0; slptimeo = 2 * hz; } diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c index e482f65..c5d2e18 100644 --- a/sys/nfsclient/nfs_vnops.c +++ b/sys/nfsclient/nfs_vnops.c @@ -2992,7 +2992,7 @@ nfs_flush(struct vnode *vp, int waitfor, int commit) int bvecsize = 0, bveccount; if (nmp->nm_flag & NFSMNT_INT) - slpflag = NFS_PCATCH; + slpflag = PCATCH; if (!commit) passone = 0; bo = &vp->v_bufobj; @@ -3190,7 +3190,7 @@ loop: error = EINTR; goto done; } - if (slpflag & PCATCH) { + if (slpflag == PCATCH) { slpflag = 0; slptimeo = 2 * hz; } @@ -3228,7 +3228,7 @@ loop: error = nfs_sigintr(nmp, td); if (error) goto done; - if (slpflag & PCATCH) { + if (slpflag == PCATCH) { slpflag = 0; slptimeo = 2 * hz; } diff --git a/sys/nfsclient/nfsmount.h b/sys/nfsclient/nfsmount.h index 77171a1..09ea5cf 100644 --- a/sys/nfsclient/nfsmount.h +++ b/sys/nfsclient/nfsmount.h @@ -125,8 +125,6 @@ struct nfsmount { #define NFS_DEFAULT_NEGNAMETIMEO 60 #endif -#define NFS_PCATCH (PCATCH | PBDRY) - #endif #endif diff --git a/sys/rpc/clnt_rc.c b/sys/rpc/clnt_rc.c index b910059..0015b3b 100644 --- a/sys/rpc/clnt_rc.c +++ b/sys/rpc/clnt_rc.c @@ -247,8 +247,7 @@ clnt_reconnect_call( stat = clnt_reconnect_connect(cl); if (stat == RPC_SYSTEMERROR) { error = tsleep(&fake_wchan, - rc->rc_intr ? PCATCH | PBDRY : 0, "rpccon", - hz); + rc->rc_intr ? PCATCH : 0, "rpccon", hz); if (error == EINTR || error == ERESTART) return (RPC_INTR); tries++; diff --git a/sys/rpc/clnt_vc.c b/sys/rpc/clnt_vc.c index bc48e19..eec9f50 100644 --- a/sys/rpc/clnt_vc.c +++ b/sys/rpc/clnt_vc.c @@ -162,7 +162,7 @@ clnt_vc_create( interrupted = 0; sleep_flag = PSOCK; if (intrflag != 0) - sleep_flag |= (PCATCH | PBDRY); + sleep_flag |= PCATCH; while ((so->so_state & SS_ISCONNECTING) && so->so_error == 0) { error = msleep(&so->so_timeo, SOCK_MTX(so), @@ -470,7 +470,6 @@ call_again: errp->re_errno = error; switch (error) { case EINTR: - case ERESTART: stat = RPC_INTR; break; case EWOULDBLOCK: @@ -704,7 +703,7 @@ clnt_vc_control(CLIENT *cl, u_int request, void *info) case CLSET_INTERRUPTIBLE: if (*(int *) info) - ct->ct_waitflag = PCATCH | PBDRY; + ct->ct_waitflag = PCATCH; else ct->ct_waitflag = 0; break; |