1. 11 7月, 2007 2 次提交
  2. 24 5月, 2007 1 次提交
    • T
      NFS: Avoid a deadlock situation on write · 7fe7f848
      Trond Myklebust 提交于
      When processes are allowed to attempt to lock a non-contiguous range of nfs
      write requests, it is possible for generic_writepages to 'wrap round' the
      address space, and call writepage() on a request that is already locked by
      the same process.
      
      We avoid the deadlock by checking if the page index is contiguous with the
      list of nfs write requests that is already held in our
      nfs_pageio_descriptor prior to attempting to lock a new request.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      7fe7f848
  3. 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
  4. 10 5月, 2007 1 次提交
  5. 05 5月, 2007 1 次提交
  6. 02 5月, 2007 1 次提交
  7. 01 5月, 2007 6 次提交
  8. 08 12月, 2006 2 次提交
  9. 06 12月, 2006 3 次提交
  10. 27 9月, 2006 1 次提交
  11. 01 7月, 2006 2 次提交
  12. 28 6月, 2006 1 次提交
  13. 09 6月, 2006 2 次提交
    • D
      NFS: Split fs/nfs/inode.c · f7b422b1
      David Howells 提交于
      As fs/nfs/inode.c is rather large, heterogenous and unwieldy, the attached
      patch splits it up into a number of files:
      
       (*) fs/nfs/inode.c
      
           Strictly inode specific functions.
      
       (*) fs/nfs/super.c
      
           Superblock management functions for NFS and NFS4, normal access, clones
           and referrals.  The NFS4 superblock functions _could_ move out into a
           separate conditionally compiled file, but it's probably not worth it as
           there're so many common bits.
      
       (*) fs/nfs/namespace.c
      
           Some namespace-specific functions have been moved here.
      
       (*) fs/nfs/nfs4namespace.c
      
           NFS4-specific namespace functions (this could be merged into the previous
           file).  This file is conditionally compiled.
      
       (*) fs/nfs/internal.h
      
           Inter-file declarations, plus a few simple utility functions moved from
           fs/nfs/inode.c.
      
           Additionally, all the in-.c-file externs have been moved here, and those
           files they were moved from now includes this file.
      
      For the most part, the functions have not been changed, only some multiplexor
      functions have changed significantly.
      
      I've also:
      
       (*) Added some extra banner comments above some functions.
      
       (*) Rearranged the function order within the files to be more logical and
           better grouped (IMO), though someone may prefer a different order.
      
       (*) Reduced the number of #ifdefs in .c files.
      
       (*) Added missing __init and __exit directives.
      Signed-Off-By: NDavid Howells <dhowells@redhat.com>
      f7b422b1
    • T
      NFS: Flesh out nfs_invalidate_page() · d2ccddf0
      Trond Myklebust 提交于
      In the case of a call to truncate_inode_pages(), we should really try to
      cancel any pending writes on the page.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      d2ccddf0
  14. 21 3月, 2006 2 次提交
    • T
      NFS: Fix a race with PG_private and nfs_release_page() · deb7d638
      Trond Myklebust 提交于
      We don't need to set PG_private for readahead pages, since they never get
      unlocked while I/O is in progress. However there is a small race in
      nfs_readpage_release() whereby the page may be unlocked, and have
      PG_private set.
      
      Fix is to have PG_private set only for the case of writes...
      
      Also fix a bug in nfs_clear_page_writeback(): Don't attempt to clear the
      radix_tree tag if we've already deleted the radix tree entry.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      deb7d638
    • T
      NFS: Avoid races between writebacks and truncation · cd52ed35
      Trond Myklebust 提交于
      Currently, there is no serialisation between NFS asynchronous writebacks
      and truncation at the page level due to the fact that nfs_sync_inode()
      cannot lock the pages that it is about to write out.
      
      This means that it is possible to be flushing out data (and calling something
      like set_page_writeback()) while the page cache is busy evicting the page.
      Oops...
      
      Use the hooks provided in try_to_release_page() to ensure that dirty pages
      are always written back to storage before we evict them.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      cd52ed35
  15. 23 6月, 2005 3 次提交
  16. 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