Date: Fri, 13 Mar 1998 05:21:05 +0100 From: Tor Egge <Tor.Egge@idi.ntnu.no> To: ambrisko@whistle.com Cc: freebsd-current@FreeBSD.ORG Subject: Re: Netboot problem: RPC timeout for server 0x0 Message-ID: <199803130421.FAA16144@pat.idi.ntnu.no> In-Reply-To: Your message of "Thu, 12 Mar 1998 17:21:13 -0800 (PST)" References: <199803130121.RAA02278@crab.whistle.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> If go back in time just before this then it is fine, just after then
> it breaks. The time is 2/20/98 8:40:00 then it breaks, 8:30 is fine.
This is actually a very good indication of what's going wrong.
Try this patch.
Index: sys/nfs/bootp_subr.c
===================================================================
RCS file: /home/ncvs/src/sys/nfs/bootp_subr.c,v
retrieving revision 1.9
diff -u -r1.9 bootp_subr.c
--- bootp_subr.c 1998/02/09 06:10:32 1.9
+++ bootp_subr.c 1998/03/13 04:17:52
@@ -766,10 +766,10 @@
return;
/*
- * Bump time if 0.
+ * Wait until arp entries can be handled.
*/
- if (!time.tv_sec)
- time.tv_sec++;
+ while (time.tv_sec == 0)
+ tsleep(&time, PZERO+8, "arpkludge", 10);
/*
* Find a network interface.
Index: sys/nfs/nfs_vfsops.c
===================================================================
RCS file: /home/ncvs/src/sys/nfs/nfs_vfsops.c,v
retrieving revision 1.55
diff -u -r1.55 nfs_vfsops.c
--- nfs_vfsops.c 1998/03/01 22:46:30 1.55
+++ nfs_vfsops.c 1998/03/13 04:20:09
@@ -399,8 +399,8 @@
* XXX time must be non-zero when we init the interface or else
* the arp code will wedge...
*/
- if (time.tv_sec == 0)
- time.tv_sec = 1;
+ while (time.tv_sec == 0)
+ tsleep(&time, PZERO+8, "arpkludge", 10);
if (nfs_diskless_valid==1)
nfs_convert_diskless();
Index: sys/nfs/krpc_subr.c
===================================================================
RCS file: /home/ncvs/src/sys/nfs/krpc_subr.c,v
retrieving revision 1.7
diff -u -r1.7 krpc_subr.c
--- krpc_subr.c 1997/10/28 15:59:03 1.7
+++ krpc_subr.c 1998/03/13 04:13:11
@@ -337,7 +337,7 @@
timo++;
else
printf("RPC timeout for server 0x%x\n",
- ntohl(sin->sin_addr.s_addr));
+ ntohl(sa->sin_addr.s_addr));
/*
* Wait for up to timo seconds for a reply.
- Tor Egge
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199803130421.FAA16144>
