An error occurred fetching the project authors.
  1. 03 May, 2009 1 commit
  2. 01 May, 2009 1 commit
  3. 26 Apr, 2009 1 commit
  4. 26 Mar, 2009 1 commit
  5. 17 Mar, 2009 1 commit
    • Theodore Ts'o's avatar
      ext4: Add auto_da_alloc mount option · afd4672d
      Theodore Ts'o authored
      Add a mount option which allows the user to disable automatic
      allocation of blocks whose allocation by delayed allocation when the
      file was originally truncated or when the file is renamed over an
      existing file.  This feature is intended to save users from the
      effects of naive application writers, but it reduces the effectiveness
      of the delayed allocation code.  This mount option disables this
      safety feature, which may be desirable for prodcutions systems where
      the risk of unclean shutdowns or unexpected system crashes is low.
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      afd4672d
  6. 24 Feb, 2009 1 commit
    • Theodore Ts'o's avatar
      ext4: Automatically allocate delay allocated blocks on rename · 8750c6d5
      Theodore Ts'o authored
      When renaming a file such that a link to another inode is overwritten,
      force any delay allocated blocks that to be allocated so that if the
      filesystem is mounted with data=ordered, the data blocks will be
      pushed out to disk along with the journal commit.  Many application
      programs expect this, so we do this to avoid zero length files if the
      system crashes unexpectedly.
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      8750c6d5
  7. 23 Feb, 2009 1 commit
    • Bryan Donlan's avatar
      ext4: return -EIO not -ESTALE on directory traversal through deleted inode · e6f009b0
      Bryan Donlan authored
      ext4_iget() returns -ESTALE if invoked on a deleted inode, in order to
      report errors to NFS properly.  However, in ext4_lookup(), this
      -ESTALE can be propagated to userspace if the filesystem is corrupted
      such that a directory entry references a deleted inode.  This leads to
      a misleading error message - "Stale NFS file handle" - and confusion
      on the part of the admin.
      
      The bug can be easily reproduced by creating a new filesystem, making
      a link to an unused inode using debugfs, then mounting and attempting
      to ls -l said link.
      
      This patch thus changes ext4_lookup to return -EIO if it receives
      -ESTALE from ext4_iget(), as ext4 does for other filesystem metadata
      corruption; and also invokes the appropriate ext*_error functions when
      this case is detected.
      Signed-off-by: default avatarBryan Donlan <bdonlan@gmail.com>
      Cc: <linux-ext4@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      e6f009b0
  8. 15 Feb, 2009 2 commits
  9. 16 Jan, 2009 1 commit
  10. 08 Jan, 2009 1 commit
  11. 04 Jan, 2009 1 commit
    • Nick Piggin's avatar
      fs: symlink write_begin allocation context fix · 54566b2c
      Nick Piggin authored
      With the write_begin/write_end aops, page_symlink was broken because it
      could no longer pass a GFP_NOFS type mask into the point where the
      allocations happened.  They are done in write_begin, which would always
      assume that the filesystem can be entered from reclaim.  This bug could
      cause filesystem deadlocks.
      
      The funny thing with having a gfp_t mask there is that it doesn't really
      allow the caller to arbitrarily tinker with the context in which it can be
      called.  It couldn't ever be GFP_ATOMIC, for example, because it needs to
      take the page lock.  The only thing any callers care about is __GFP_FS
      anyway, so turn that into a single flag.
      
      Add a new flag for write_begin, AOP_FLAG_NOFS.  Filesystems can now act on
      this flag in their write_begin function.  Change __grab_cache_page to
      accept a nofs argument as well, to honour that flag (while we're there,
      change the name to grab_cache_page_write_begin which is more instructive
      and does away with random leading underscores).
      
      This is really a more flexible way to go in the end anyway -- if a
      filesystem happens to want any extra allocations aside from the pagecache
      ones in ints write_begin function, it may now use GFP_KERNEL (rather than
      GFP_NOFS) for common case allocations (eg.  ocfs2_alloc_write_ctxt, for a
      random example).
      
      [kosaki.motohiro@jp.fujitsu.com: fix ubifs]
      [kosaki.motohiro@jp.fujitsu.com: fix fuse]
      Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
      Reviewed-by: default avatarKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: <stable@kernel.org>		[2.6.28.x]
      Signed-off-by: default avatarKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      [ Cleaned up the calling convention: just pass in the AOP flags
        untouched to the grab_cache_page_write_begin() function.  That
        just simplifies everybody, and may even allow future expansion of the
        logic.   - Linus ]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      54566b2c
  12. 31 Dec, 2008 1 commit
  13. 05 Nov, 2008 1 commit
    • Theodore Ts'o's avatar
      ext4: Change unsigned long to unsigned int · 498e5f24
      Theodore Ts'o authored
      Convert the unsigned longs that are most responsible for bloating the
      stack usage on 64-bit systems.
      
      Nearly all places in the ext3/4 code which uses "unsigned long" is
      probably a bug, since on 32-bit systems a ulong a 32-bits, which means
      we are wasting stack space on 64-bit systems.
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      498e5f24
  14. 07 Jan, 2009 1 commit
    • Frank Mayhar's avatar
      ext4: Allow ext4 to run without a journal · 0390131b
      Frank Mayhar authored
      A few weeks ago I posted a patch for discussion that allowed ext4 to run
      without a journal.  Since that time I've integrated the excellent
      comments from Andreas and fixed several serious bugs.  We're currently
      running with this patch and generating some performance numbers against
      both ext2 (with backported reservations code) and ext4 with and without
      a journal.  It just so happens that running without a journal is
      slightly faster for most everything.
      
      We did
      	iozone -T -t 4 s 2g -r 256k -T -I -i0 -i1 -i2
      
      which creates 4 threads, each of which create and do reads and writes on
      a 2G file, with a buffer size of 256K, using O_DIRECT for all file opens
      to bypass the page cache.  Results:
      
                           ext2        ext4, default   ext4, no journal
        initial writes   13.0 MB/s        15.4 MB/s          15.7 MB/s
        rewrites         13.1 MB/s        15.6 MB/s          15.9 MB/s
        reads            15.2 MB/s        16.9 MB/s          17.2 MB/s
        re-reads         15.3 MB/s        16.9 MB/s          17.2 MB/s
        random readers    5.6 MB/s         5.6 MB/s           5.7 MB/s
        random writers    5.1 MB/s         5.3 MB/s           5.4 MB/s 
      
      So it seems that, so far, this was a useful exercise.
      Signed-off-by: default avatarFrank Mayhar <fmayhar@google.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      0390131b
  15. 06 Dec, 2008 1 commit
  16. 28 Oct, 2008 1 commit
  17. 23 Oct, 2008 2 commits
  18. 11 Oct, 2008 1 commit
  19. 22 Sep, 2008 1 commit
  20. 09 Sep, 2008 2 commits
  21. 11 Jul, 2008 3 commits
  22. 29 Apr, 2008 1 commit
  23. 30 Apr, 2008 1 commit
  24. 17 Apr, 2008 2 commits
  25. 29 Apr, 2008 1 commit
  26. 25 Feb, 2008 1 commit
  27. 15 Feb, 2008 1 commit
  28. 22 Feb, 2008 1 commit
  29. 07 Feb, 2008 1 commit
  30. 05 Feb, 2008 1 commit
  31. 29 Jan, 2008 3 commits
  32. 17 Oct, 2007 1 commit