1. 28 5月, 2011 1 次提交
    • C
      NFS: Revert NFSROOT default mount options · 4251c948
      Chuck Lever 提交于
      Marek Belisko <marek.belisko@gmail.com> reports that recent attempts
      to fix regressions in NFSROOT have broken his configuration:
      
      > After update from 2.6.38-rc8 to 2.6.38 is mounting rootfs over nfs not possible.
      > Log:
      > VFS: Mounted root (nfs filesystem) on device 0:14.
      > Freeing init memory: 132K
      > nfs: server 10.146.1.21 not responding, still trying
      > nfs: server 10.146.1.21 not responding, still trying
      >
      > This is never ending. I make short bisect (not too much commits
      > between versions)
      > and bad commit was reported: 53d47375
      >
      > NFS: NFSROOT should default to "proto=udp"
      >
      > I've tested on mini2440 board (DM9000, static IP).
      > Is there some missing option or something else to be checked?
      
      An examination of a network trace captured during the failure shows
      that the mount is actually succeeding, but that the client is not
      seeing READ replies larger than 16KB.  This could be a local packet
      filtering issue on the client, but we didn't troubleshoot this
      further because of the reported "git bisect" result.
      
      Last fall we removed the ad hoc mount option parser in
      fs/nfs/nfsroot.c in favor of using the main parser in fs/nfs/super.c
      (see commit 56463e50 "NFS: Use super.c for NFSROOT mount option
      parsing").  That commit changed the default NFSROOT mount options to
      be the same as those employed by user space mounts.
      
      As it turns out, these new default mount options are not tolerated by
      many embedded systems.  So far these problems have been due to
      specific behavior of certain embedded NICs.  The NFS community does
      not have such hardware on hand for running tests.
      
      Commit 53d47375 recently introduced a clean way to specify default
      mount options for NFSROOT, so we can now easily restore the
      traditional defaults for NFSROOT:
      
         vers=2,udp,rsize=4096,wsize=4096
      
      This should revert the new default NFSROOT mount options introduced
      with commit 56463e50.
      Tested-by: NMarek Belisto <marek.belisto@open-nandra.com>
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      4251c948
  2. 12 3月, 2011 1 次提交
    • C
      NFS: NFSROOT should default to "proto=udp" · 53d47375
      Chuck Lever 提交于
      There have been a number of recent reports that NFSROOT is no longer
      working with default mount options, but fails only with certain NICs.
      
      Brian Downing <bdowning@lavos.net> bisected to commit 56463e50 "NFS:
      Use super.c for NFSROOT mount option parsing".  Among other things,
      this commit changes the default mount options for NFSROOT to use TCP
      instead of UDP as the underlying transport.
      
      TCP seems less able to deal with NICs that are slow to initialize.
      The system logs that have accompanied reports of problems all show
      that NFSROOT attempts to establish a TCP connection before the NIC is
      fully initialized, and thus the TCP connection attempt fails.
      
      When a TCP connection attempt fails during a mount operation, the
      NFS stack needs to fail the operation.  Usually user space knows how
      and when to retry it.  The network layer does not report a distinct
      error code for this particular failure mode.  Thus, there isn't a
      clean way for the RPC client to see that it needs to retry in this
      case, but not in others.
      
      Because NFSROOT is used in some environments where it is not possible
      to update the kernel command line to specify "udp", the proper thing
      to do is change NFSROOT to use UDP by default, as it did before commit
      56463e50.
      
      To make it easier to see how to change default mount options for
      NFSROOT and to distinguish default settings from mandatory settings,
      I've adjusted a couple of areas to document the specifics.
      
      root_nfs_cat() is also modified to deal with commas properly when
      concatenating strings containing mount option lists.  This keeps
      root_nfs_cat() call sites simpler, now that we may be concatenating
      multiple mount option strings.
      Tested-by: NBrian Downing <bdowning@lavos.net>
      Tested-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Cc: <stable@kernel.org> # 2.6.37
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      53d47375
  3. 27 10月, 2010 1 次提交
    • T
      NFS: Fix a compile issue in nfs_root · 036a1075
      Trond Myklebust 提交于
      Stephen Rothwell reports:
      
      > /home/test/linux-2.6/fs/nfs/nfsroot.c: In function 'nfs_root_debug':
      > /home/test/linux-2.6/fs/nfs/nfsroot.c:110:2: error: 'nfs_debug'
      > undeclared (first use in this function)
      > /home/test/linux-2.6/fs/nfs/nfsroot.c:110:2: note: each undeclared
      > identifier is reported only once for each function it appears in
      > make[3]: *** [fs/nfs/nfsroot.o] Error 1
      > make[2]: *** [fs/nfs] Error 2
      > make[1]: *** [fs] Error 2
      > make: *** [sub-make] Error 2
      
      Which is caused by commit 306a0753
      (NFS: Allow NFSROOT debugging messages to be enabled dynamically)
      
      Fix is to disable this code when RPC_DEBUG is disabled.
      Reported-by: NZimny Lech <napohybelskurwysynom2010@gmail.com>
      Tested-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      036a1075
  4. 17 9月, 2010 4 次提交
  5. 31 7月, 2010 1 次提交
    • D
      nfs: include space for the NUL in root path · 674b2222
      Dan Carpenter 提交于
      In root_nfs_name() it does the following:
      
              if (strlen(buf) + strlen(cp) > NFS_MAXPATHLEN) {
                      printk(KERN_ERR "Root-NFS: Pathname for remote directory too long.\n");
                      return -1;
              }
              sprintf(nfs_export_path, buf, cp);
      
      In the original code if (strlen(buf) + strlen(cp) == NFS_MAXPATHLEN)
      then the sprintf() would lead to an overflow.  Generally the rest of the
      code assumes that the path can have NFS_MAXPATHLEN (1024) characters and
      a NUL terminator so the fix is to add space to the nfs_export_path[]
      buffer.
      Signed-off-by: NDan Carpenter <error27@gmail.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      674b2222
  6. 15 5月, 2010 1 次提交
  7. 18 6月, 2009 2 次提交
  8. 27 5月, 2009 1 次提交
    • S
      nfs: fix build error in nfsroot with initconst · d0367a50
      Sam Ravnborg 提交于
      fix build error with latest kbuild adjustments to initconst.
      
      The commit a447c093 ("vfs: Use
      const for kernel parser table") changed:
      
          static match_table_t __initdata tokens = {
      to
          static match_table_t __initconst tokens = {
      
      But the missing const causes popwerpc to fail with latest
      updates to __initconst like this:
      
      fs/nfs/nfsroot.c:400: error: __setup_str_nfs_root_setup causes a section type conflict
      fs/nfs/nfsroot.c:400: error: __setup_str_nfs_root_setup causes a section type conflict
      
      The bug is only present with kbuild-next.
      Following patch has been build tested.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Steven Whitehouse <swhiteho@redhat.com>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Acked-by: NJan Beulich <jbeulich@novell.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      d0367a50
  9. 24 12月, 2008 3 次提交
  10. 31 10月, 2008 1 次提交
  11. 14 10月, 2008 1 次提交
  12. 08 10月, 2008 1 次提交
  13. 05 8月, 2008 1 次提交
  14. 25 7月, 2008 1 次提交
  15. 10 7月, 2008 2 次提交
  16. 07 12月, 2007 1 次提交
  17. 20 10月, 2007 1 次提交
  18. 10 10月, 2007 1 次提交
  19. 11 7月, 2007 2 次提交
  20. 01 5月, 2007 1 次提交
  21. 03 12月, 2006 1 次提交
  22. 04 10月, 2006 1 次提交
  23. 02 10月, 2006 1 次提交
  24. 08 2月, 2006 1 次提交
    • A
      [PATCH] nfsroot port= parameter fix [backport of 2.4 fix] · 8854eddb
      Al Viro 提交于
      Direct backport of 2.4 fix that didn't get propagated to 2.6; original
      comment follows:
      <quote>
         When I specify the NFS port for nfsroot (e.g.,
         nfsroot=<dir>,port=2049), the
         kernel uses the wrong port. In my case it tries to use 264 (0x108)
         instead
         of 2049 (0x801).
      
         This patch adds the missing htons().
      
         Eric
      </quote>
      
      Patch got applied in 2.4.21-pre6.  Author: Eric Lammerts (<eric@lammerts.org>,
      AFAICS).
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      8854eddb
  25. 09 1月, 2006 1 次提交
  26. 07 1月, 2006 1 次提交
    • C
      NFS: support large reads and writes on the wire · 40859d7e
      Chuck Lever 提交于
       Most NFS server implementations allow up to 64KB reads and writes on the
       wire.  The Solaris NFS server allows up to a megabyte, for instance.
      
       Now the Linux NFS client supports transfer sizes up to 1MB, too.  This will
       help reduce protocol and context switch overhead on read/write intensive NFS
       workloads, and support larger atomic read and write operations on servers
       that support them.
      
       Test-plan:
       Connectathon and iozone on mount point with wsize=rsize>32768 over TCP.
       Tests with NFS over UDP to verify the maximum RPC payload size cap.
      Signed-off-by: NChuck Lever <cel@netapp.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      40859d7e
  27. 23 6月, 2005 1 次提交
  28. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4