diff options
author | 2021-01-02 02:41:42 +0000 | |
---|---|---|
committer | 2021-01-02 02:41:42 +0000 | |
commit | cab22b2ba59f8fd0350f9c5c01a5d1f4579b64af (patch) | |
tree | 69d47ddbca6649778b333898ed9e64438e946010 | |
parent | uvm: uvm_fault_lower(): don't sleep on lbolt (diff) | |
download | wireguard-openbsd-cab22b2ba59f8fd0350f9c5c01a5d1f4579b64af.tar.xz wireguard-openbsd-cab22b2ba59f8fd0350f9c5c01a5d1f4579b64af.zip |
nfs: don't sleep on lbolt
We can simulate the current behavior without lbolt by sleeping for 1
second on the &nowake channel.
ok mpi@
-rw-r--r-- | sys/nfs/nfs_socket.c | 8 | ||||
-rw-r--r-- | sys/nfs/nfs_vfsops.c | 5 |
2 files changed, 7 insertions, 6 deletions
diff --git a/sys/nfs/nfs_socket.c b/sys/nfs/nfs_socket.c index 1581e8f0797..38e0ee99d66 100644 --- a/sys/nfs/nfs_socket.c +++ b/sys/nfs/nfs_socket.c @@ -1,4 +1,4 @@ -/* $OpenBSD: nfs_socket.c,v 1.136 2020/01/21 00:18:13 cheloha Exp $ */ +/* $OpenBSD: nfs_socket.c,v 1.137 2021/01/02 02:41:42 cheloha Exp $ */ /* $NetBSD: nfs_socket.c,v 1.27 1996/04/15 20:20:00 thorpej Exp $ */ /* @@ -408,7 +408,7 @@ nfs_reconnect(struct nfsreq *rep) while ((error = nfs_connect(nmp, rep)) != 0) { if (error == EINTR || error == ERESTART) return (EINTR); - tsleep_nsec(&lbolt, PSOCK, "nfsrecon", INFSLP); + tsleep_nsec(&nowake, PSOCK, "nfsrecon", SEC_TO_NSEC(1)); } /* @@ -853,7 +853,7 @@ nfs_request(struct vnode *vp, int procnum, struct nfsm_info *infop) struct nfsmount *nmp; caddr_t cp2; int t1, i, error = 0; - int addr, trylater_delay; + int trylater_delay; struct nfsreq *rep; struct nfsm_info info; @@ -998,7 +998,7 @@ tryagain: error == NFSERR_TRYLATER) { m_freem(info.nmi_mrep); error = 0; - tsleep_nsec(&addr, PSOCK, "nfsretry", + tsleep_nsec(&nowake, PSOCK, "nfsretry", SEC_TO_NSEC(trylater_delay)); trylater_delay *= NFS_TIMEOUTMUL; if (trylater_delay > NFS_MAXTIMEO) diff --git a/sys/nfs/nfs_vfsops.c b/sys/nfs/nfs_vfsops.c index dd422c57402..d0a7bcf38bc 100644 --- a/sys/nfs/nfs_vfsops.c +++ b/sys/nfs/nfs_vfsops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: nfs_vfsops.c,v 1.125 2020/01/10 10:33:35 bluhm Exp $ */ +/* $OpenBSD: nfs_vfsops.c,v 1.126 2021/01/02 02:41:42 cheloha Exp $ */ /* $NetBSD: nfs_vfsops.c,v 1.46.4.1 1996/05/25 22:40:35 fvdl Exp $ */ /* @@ -522,7 +522,8 @@ nfs_decode_args(struct nfsmount *nmp, struct nfs_args *argp, if (nmp->nm_sotype == SOCK_DGRAM) while (nfs_connect(nmp, NULL)) { printf("nfs_args: retrying connect\n"); - tsleep_nsec(&lbolt, PSOCK, "nfscon", INFSLP); + tsleep_nsec(&nowake, PSOCK, "nfscon", + SEC_TO_NSEC(1)); } } |