1. 28 1月, 2010 1 次提交
    • C
      NFSD: Create PF_INET6 listener in write_ports · 37498292
      Chuck Lever 提交于
      Try to create a PF_INET6 listener for NFSD, if IPv6 is enabled in the
      kernel.
      
      Make sure nfsd_serv's reference count is decreased if
      __write_ports_addxprt() failed to create a listener.  See
      __write_ports_addfd().
      
      Our current plan is to rely on rpc.nfsd to create appropriate IPv6
      listeners when server-side NFS/IPv6 support is desired.  Legacy
      behavior, via the write_threads or write_svc kernel APIs, will remain
      the same -- only IPv4 listeners are created.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      [bfields@citi.umich.edu: Move error-handling code to end]
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      37498292
  2. 27 1月, 2010 1 次提交
    • C
      SUNRPC: NFS kernel APIs shouldn't return ENOENT for "transport not found" · 68717908
      Chuck Lever 提交于
      write_ports() converts svc_create_xprt()'s ENOENT error return to
      EPROTONOSUPPORT so that rpc.nfsd (in user space) can report an error
      message that makes sense.
      
      It turns out that several of the other kernel APIs rpc.nfsd use can
      also return ENOENT from svc_create_xprt(), by way of lockd_up().
      
      On the client side, an NFSv2 or NFSv3 mount request can also return
      the result of lockd_up().  This error may also be returned during an
      NFSv4 mount request, since the NFSv4 callback service uses
      svc_create_xprt() to create the callback listener.  An ENOENT error
      return results in a confusing error message from the mount command.
      
      Let's have svc_create_xprt() return EPROTONOSUPPORT instead of ENOENT.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      68717908
  3. 16 12月, 2009 1 次提交
  4. 15 12月, 2009 3 次提交
  5. 02 10月, 2009 1 次提交
  6. 26 8月, 2009 1 次提交
  7. 10 8月, 2009 1 次提交
  8. 29 7月, 2009 2 次提交
  9. 13 7月, 2009 1 次提交
  10. 19 6月, 2009 1 次提交
    • N
      nfsd: don't take nfsd_mutex twice when setting number of threads. · 82e12fe9
      NeilBrown 提交于
      Currently when we write a number to 'threads' in nfsdfs,
      we take the nfsd_mutex, update the number of threads, then take the
      mutex again to read the number of threads.
      
      Mostly this isn't a big deal.  However if we are write '0', and
      portmap happens to be dead, then we can get unpredictable behaviour.
      If the nfsd threads all got killed quickly and the last thread is
      waiting for portmap to respond, then the second time we take the mutex
      we will block waiting for the last thread.
      However if the nfsd threads didn't die quite that fast, then there
      will be no contention when we try to take the mutex again.
      
      Unpredictability isn't fun, and waiting for the last thread to exit is
      pointless, so avoid taking the lock twice.
      To achieve this, get nfsd_svc return a non-negative number of active
      threads when not returning a negative error.
      Signed-off-by: NNeilBrown <neilb@suse.de>
      82e12fe9
  11. 29 4月, 2009 13 次提交
  12. 04 4月, 2009 1 次提交
  13. 29 3月, 2009 2 次提交
  14. 19 3月, 2009 1 次提交
  15. 07 1月, 2009 4 次提交
  16. 31 10月, 2008 1 次提交
  17. 23 10月, 2008 1 次提交
  18. 05 10月, 2008 2 次提交
  19. 27 7月, 2008 1 次提交
  20. 16 7月, 2008 1 次提交