[U-Boot-Users] NFS Timeout with large files.
Hiroshi Ito
ito at mlb.co.jp
Wed Jan 30 08:32:17 CET 2008
Hello, Upakul
I got same experience.
U-boot NFS command do not retry to send a command again.
so, when the packet is lost, It will cause timeout.
with this patch, it should fix.
but this is very old code. so, I don't know, it can applys to current one.
Regards
--------
Hiroshi Ito
Media Lab. Inc.,
URL http://www.mlb.co.jp ( Sorry, Japanese only. )
TEL +81-3-5294-7255 FAX +81-3-5294-7256
From: "Upakul Barkakaty" <upakul at gmail.com>
Subject: [U-Boot-Users] NFS Timeout with large files.
Date: Wed, 30 Jan 2008 11:55:18 +0530
> Hi all,
>
> I am facing a timeout problem with nfs while transferring large files.
> However i encounter no problem with smaller files.
>
> The entire thing works fine with another nfs server.
>
> Any hints on what could be the problem ??
>
> --
> Regards,
> Upakul Barkakaty
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> U-Boot-Users mailing list
> U-Boot-Users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/u-boot-users
>
-------------- next part --------------
commit cbba3261e3cf434e36aa64efe0d36e430f4e5152
Author: <ito at mlb.co.jp>
Date: Wed Aug 30 15:48:36 2006 +0900
nfs comand retrys read when timeouts are caused.
diff --git a/net/nfs.c b/net/nfs.c
index de789e1..4385e07 100644
--- a/net/nfs.c
+++ b/net/nfs.c
@@ -34,7 +34,8 @@
#if ((CONFIG_COMMANDS & CFG_CMD_NET) && (CONFIG_COMMANDS & CFG_CMD_NFS))
#define HASHES_PER_LINE 65 /* Number of "loading" hashes per line */
-#define NFS_TIMEOUT 60
+#define NFS_RETRY_COUNT 30
+#define NFS_TIMEOUT 2
static int fs_mounted = 0;
static unsigned long rpc_id = 0;
@@ -587,6 +588,10 @@ Interfaces of U-BOOT
static void
NfsTimeout (void)
{
+ if ( NfsTimeoutCount++ < NFS_RETRY_COUNT ) {
+ NfsSend ();
+ return;
+ }
puts ("Timeout\n");
NetState = NETLOOP_FAIL;
return;
More information about the U-Boot
mailing list