summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcheloha <cheloha@openbsd.org>2021-01-02 02:41:42 +0000
committercheloha <cheloha@openbsd.org>2021-01-02 02:41:42 +0000
commitcab22b2ba59f8fd0350f9c5c01a5d1f4579b64af (patch)
tree69d47ddbca6649778b333898ed9e64438e946010
parentuvm: uvm_fault_lower(): don't sleep on lbolt (diff)
downloadwireguard-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.c8
-rw-r--r--sys/nfs/nfs_vfsops.c5
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));
}
}