1. 24 2月, 2009 1 次提交
    • T
      ext4: Automatically allocate delay allocated blocks on close · 7d8f9f7d
      Theodore Ts'o 提交于
      When closing a file that had been previously truncated, 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: N"Theodore Ts'o" <tytso@mit.edu>
      7d8f9f7d
  2. 23 11月, 2008 1 次提交
  3. 11 10月, 2008 1 次提交
  4. 07 10月, 2008 1 次提交
  5. 10 10月, 2008 1 次提交
  6. 09 9月, 2008 1 次提交
  7. 12 7月, 2008 2 次提交
    • M
      ext4: delayed allocation i_blocks fix for stat · 3e3398a0
      Mingming Cao 提交于
      Right now i_blocks is not getting updated until the blocks are actually
      allocaed on disk.  This means with delayed allocation, right after files
      are copied, "ls -sF" shoes the file as taking 0 blocks on disk.  "du"
      also shows the files taking zero space, which is highly confusing to the
      user.
      
      Since delayed allocation already keeps track of per-inode total
      number of blocks that are subject to delayed allocation, this patch fix
      this by using that to adjust the value returned by stat(2). When real
      block allocation is done, the i_blocks will get updated. Since the
      reserved blocks for delayed allocation will be decreased, this will be
      keep value returned by stat(2) consistent.
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      3e3398a0
    • A
      ext4: Use page_mkwrite vma_operations to get mmap write notification. · 2e9ee850
      Aneesh Kumar K.V 提交于
      We would like to get notified when we are doing a write on mmap section.
      This is needed with respect to preallocated area. We split the preallocated
      area into initialzed extent and uninitialzed extent in the call back. This
      let us handle ENOSPC better. Otherwise we get ENOSPC in the writepage and
      that would result in data loss. The changes are also needed to handle ENOSPC
      when writing to an mmap section of files with holes.
      Acked-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      2e9ee850
  8. 30 4月, 2008 2 次提交
  9. 29 1月, 2008 2 次提交
  10. 18 7月, 2007 1 次提交
    • A
      fallocate support in ext4 · a2df2a63
      Amit Arora 提交于
      This patch implements ->fallocate() inode operation in ext4. With this
      patch users of ext4 file systems will be able to use fallocate() system
      call for persistent preallocation. Current implementation only supports
      preallocation for regular files (directories not supported as of date)
      with extent maps. This patch does not support block-mapped files currently.
      Only FALLOC_ALLOCATE and FALLOC_RESV_SPACE modes are being supported as of
      now.
      Signed-off-by: NAmit Arora <aarora@in.ibm.com>
      a2df2a63
  11. 10 7月, 2007 1 次提交
  12. 13 2月, 2007 1 次提交
  13. 09 12月, 2006 1 次提交
  14. 12 10月, 2006 3 次提交
  15. 01 10月, 2006 3 次提交
  16. 27 9月, 2006 1 次提交
  17. 31 3月, 2006 1 次提交
    • J
      [PATCH] Introduce sys_splice() system call · 5274f052
      Jens Axboe 提交于
      This adds support for the sys_splice system call. Using a pipe as a
      transport, it can connect to files or sockets (latter as output only).
      
      From the splice.c comments:
      
         "splice": joining two ropes together by interweaving their strands.
      
         This is the "extended pipe" functionality, where a pipe is used as
         an arbitrary in-memory buffer. Think of a pipe as a small kernel
         buffer that you can use to transfer data from one end to the other.
      
         The traditional unix read/write is extended with a "splice()" operation
         that transfers data buffers to or from a pipe buffer.
      
         Named by Larry McVoy, original implementation from Linus, extended by
         Jens to support splicing to files and fixing the initial implementation
         bugs.
      Signed-off-by: NJens Axboe <axboe@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      5274f052
  18. 29 3月, 2006 1 次提交
  19. 23 3月, 2006 1 次提交
  20. 29 6月, 2005 1 次提交
    • M
      [PATCH] ext3: reduce allocate-with-reservation lock latencies · 21fe3471
      Mingming Cao 提交于
      Currently in ext3 block reservation code, the global filesystem reservation
      tree lock (rsv_block) is hold during the process of searching for a space
      to make a new reservation window, including while scaning the block bitmap
      to verify if the avalible window has a free block.  Holding the lock during
      bitmap scan is unnecessary and could possibly cause scalability issue and
      latency issues.
      
      This patch tries to address this by dropping the lock before scan the
      bitmap.  Before that we need to reserve the open window in case someone
      else is targetting at the same window.  Question was should we reserve the
      whole free reservable space or just the window size we need.  Reserve the
      whole free reservable space will possibly force other threads which
      intended to do block allocation nearby move to another block group(cause
      bad layout).  In this patch, we just reserve the desired size before drop
      the lock and scan the block bitmap.  This patch fixed a ext3 reservation
      latency issue seen on a cvs check out test.  Patch is tested with many fsx,
      tiobench, dbench and untar a kernel test.
      Signed-Off-By: NMingming Cao <cmm@us.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      21fe3471
  21. 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