1. 26 Apr, 2010 1 commit
    • Neil Brown's avatar
      nfsd: ensure sockets are closed on error · 47395d16
      Neil Brown authored
      commit 301e99ce upstream.
      
      One the changes in commit d7979ae4 "svc: Move close processing to a
      single place" is:
      
        err_delete:
      -       svc_delete_socket(svsk);
      +       set_bit(SK_CLOSE, &svsk->sk_flags);
              return -EAGAIN;
      
      This is insufficient. The recvfrom methods must always call
      svc_xprt_received on completion so that the socket gets re-queued if
      there is any more work to do.  This particular path did not make that
      call because it actually destroyed the svsk, making requeue pointless.
      When the svc_delete_socket was change to just set a bit, we should have
      added a call to svc_xprt_received,
      
      This is the problem that b0401d72
      
       attempted to fix, incorrectly.
      Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      47395d16
  2. 30 Oct, 2009 1 commit
  3. 11 Sep, 2009 1 commit
  4. 24 Aug, 2009 1 commit
  5. 14 Jul, 2009 1 commit
  6. 19 Jun, 2009 1 commit
    • Trond Myklebust's avatar
      SUNRPC: Fix the TCP server's send buffer accounting · 47fcb03f
      Trond Myklebust authored
      
      Currently, the sunrpc server is refusing to allow us to process new RPC
      calls if the TCP send buffer is 2/3 full, even if we do actually have
      enough free space to guarantee that we can send another request.
      The following patch fixes svc_tcp_has_wspace() so that we only stop
      processing requests if we know that the socket buffer cannot possibly fit
      another reply.
      
      It also fixes the tcp write_space() callback so that we only clear the
      SOCK_NOSPACE flag when the TCP send buffer is less than 2/3 full.
      This should ensure that the send window will grow as per the standard TCP
      socket code.
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
      47fcb03f
  7. 17 Jun, 2009 1 commit
  8. 27 May, 2009 1 commit
  9. 28 Apr, 2009 6 commits
  10. 01 Apr, 2009 1 commit
  11. 28 Mar, 2009 3 commits
  12. 18 Mar, 2009 1 commit
    • Olga Kornievskaia's avatar
      svcrpc: take advantage of tcp autotuning · 47a14ef1
      Olga Kornievskaia authored
      
      Allow the NFSv4 server to make use of TCP autotuning behaviour, which
      was previously disabled by setting the sk_userlocks variable.
      
      Set the receive buffers to be big enough to receive the whole RPC
      request, and set this for the listening socket, not the accept socket.
      
      Remove the code that readjusts the receive/send buffer sizes for the
      accepted socket. Previously this code was used to influence the TCP
      window management behaviour, which is no longer needed when autotuning
      is enabled.
      
      This can improve IO bandwidth on networks with high bandwidth-delay
      products, where a large tcp window is required.  It also simplifies
      performance tuning, since getting adequate tcp buffers previously
      required increasing the number of nfsd threads.
      Signed-off-by: default avatarOlga Kornievskaia <aglo@citi.umich.edu>
      Cc: Jim Rees <rees@umich.edu>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
      47a14ef1
  13. 07 Jan, 2009 2 commits
  14. 06 Jan, 2009 1 commit
  15. 24 Nov, 2008 1 commit
  16. 31 Oct, 2008 1 commit
  17. 04 Oct, 2008 1 commit
  18. 29 Sep, 2008 1 commit
    • Chuck Lever's avatar
      SUNRPC: Set V6ONLY socket option for RPC listener sockets · b6632339
      Chuck Lever authored
      
      My plan is to use an AF_INET listener on systems that support only IPv4,
      and an AF_INET6 listener on systems that can support IPv6. Incoming
      IPv4 packets will be posted to an AF_INET6 listener with a mapped IPv4
      address.
      
      Max Matveev <makc@sgi.com> says:
        Creating a single listener can be dangerous - if net.ipv6.bindv6only
        is enabled then it's possible to create another listener in v4
        namespace on the same port and steal the traffic from the "unifed"
        listener. You need to disable V6ONLY explicitly via a sockopt to stop
        that.
      
      Set appropriate socket option on RPC server listener sockets to prevent
      this.
      Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
      b6632339
  19. 23 Apr, 2008 3 commits
  20. 21 Feb, 2008 1 commit
  21. 01 Feb, 2008 10 commits