1. 23 10月, 2008 1 次提交
    • C
      NFSD: Fix BUG during NFSD shutdown processing · 1cd9cd16
      Chuck Lever 提交于
      The Linux NFS server can be started via a user-space write to
      /proc/fs/nfs/threads or to /proc/fs/nfs/portlist.  In the first case,
      all default listeners are started (both UDP and TCP).  In the second,
      a listener is started only for one specified transport.
      
      The NFS server has to make sure lockd stays up until the last listener
      transport goes away.  To support both start-up interfaces, it should
      do one lockd_up() for each NFSD listener.
      
      The nfsd_init_socks() function used to do one lockd_up() call for each
      svc_create_xprt().  Recently commit
      26a41409 mistakenly changed
      nfsd_init_socks() to do only one lockd_up() call even though it still
      does two svc_create_xprt() calls.
      
      The end result is a lockd_down() BUG during NFSD shutdown processing
      because nfsd_last_threads() does a lockd_down() call for each entry
      on the sv_permsocks list, but the start-up code doesn't do a matching
      number of lockd_up() calls.
      
      Add a second lockd_up() in nfsd_init_socks() to make sure the number
      of lockd_up() calls matches the number of entries on the NFS servers's
      sv_permsocks list.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      1cd9cd16
  2. 05 10月, 2008 1 次提交
  3. 30 9月, 2008 1 次提交
  4. 01 7月, 2008 1 次提交
    • J
      nfsd: treat all shutdown signals as equivalent · 100766f8
      Jeff Layton 提交于
      knfsd currently uses 2 signal masks when processing requests. A "loose"
      mask (SHUTDOWN_SIGS) that it uses when receiving network requests, and
      then a more "strict" mask (ALLOWED_SIGS, which is just SIGKILL) that it
      allows when doing the actual operation on the local storage.
      
      This is apparently unnecessarily complicated. The underlying filesystem
      should be able to sanely handle a signal in the middle of an operation.
      This patch removes the signal mask handling from knfsd altogether. When
      knfsd is started as a kthread, all signals are ignored. It then allows
      all of the signals in SHUTDOWN_SIGS. There's no need to set the mask
      as well.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      100766f8
  5. 24 6月, 2008 6 次提交
  6. 24 4月, 2008 1 次提交
  7. 02 2月, 2008 2 次提交
  8. 10 10月, 2007 3 次提交
  9. 18 7月, 2007 2 次提交
  10. 22 5月, 2007 1 次提交
    • A
      Detach sched.h from mm.h · e8edc6e0
      Alexey Dobriyan 提交于
      First thing mm.h does is including sched.h solely for can_do_mlock() inline
      function which has "current" dereference inside. By dealing with can_do_mlock()
      mm.h can be detached from sched.h which is good. See below, why.
      
      This patch
      a) removes unconditional inclusion of sched.h from mm.h
      b) makes can_do_mlock() normal function in mm/mlock.c
      c) exports can_do_mlock() to not break compilation
      d) adds sched.h inclusions back to files that were getting it indirectly.
      e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were
         getting them indirectly
      
      Net result is:
      a) mm.h users would get less code to open, read, preprocess, parse, ... if
         they don't need sched.h
      b) sched.h stops being dependency for significant number of files:
         on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,
         after patch it's only 3744 (-8.3%).
      
      Cross-compile tested on
      
      	all arm defconfigs, all mips defconfigs, all powerpc defconfigs,
      	alpha alpha-up
      	arm
      	i386 i386-up i386-defconfig i386-allnoconfig
      	ia64 ia64-up
      	m68k
      	mips
      	parisc parisc-up
      	powerpc powerpc-up
      	s390 s390-up
      	sparc sparc-up
      	sparc64 sparc64-up
      	um-x86_64
      	x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig
      
      as well as my two usual configs.
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e8edc6e0
  11. 13 2月, 2007 1 次提交
  12. 27 1月, 2007 1 次提交
  13. 21 10月, 2006 2 次提交
  14. 06 10月, 2006 1 次提交
    • N
      [PATCH] knfsd: tidy up up meaning of 'buffer size' in nfsd/sunrpc · c6b0a9f8
      NeilBrown 提交于
      There is some confusion about the meaning of 'bufsz' for a sunrpc server.
      In some cases it is the largest message that can be sent or received.  In
      other cases it is the largest 'payload' that can be included in a NFS
      message.
      
      In either case, it is not possible for both the request and the reply to be
      this large.  One of the request or reply may only be one page long, which
      fits nicely with NFS.
      
      So we remove 'bufsz' and replace it with two numbers: 'max_payload' and
      'max_mesg'.  Max_payload is the size that the server requests.  It is used
      by the server to check the max size allowed on a particular connection:
      depending on the protocol a lower limit might be used.
      
      max_mesg is the largest single message that can be sent or received.  It is
      calculated as the max_payload, rounded up to a multiple of PAGE_SIZE, and
      with PAGE_SIZE added to overhead.  Only one of the request and reply may be
      this size.  The other must be at most one page.
      
      Cc: Greg Banks <gnb@sgi.com>
      Cc: "J. Bruce Fields" <bfields@fieldses.org>
      Signed-off-by: NNeil Brown <neilb@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      c6b0a9f8
  15. 04 10月, 2006 2 次提交
  16. 02 10月, 2006 10 次提交
  17. 01 7月, 2006 1 次提交
  18. 24 3月, 2006 1 次提交
  19. 02 2月, 2006 1 次提交
  20. 07 11月, 2005 1 次提交