[U-Boot-Users] NFS Timeout with large files.

Upakul Barkakaty upakul at gmail.com
Wed Jan 30 08:46:15 CET 2008


On 1/30/08, Hiroshi Ito <ito at mlb.co.jp> wrote:
> 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
> >
>
> 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;
>
>

Thanks for the info, Hiroshi.
-- 
Regards,
Upakul Barkakaty




More information about the U-Boot mailing list