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>