1. 20 10月, 2008 1 次提交
    • M
      ext3: fix ext3 block reservation early ENOSPC issue · 46d01a22
      Mingming Cao 提交于
      We could run into ENOSPC error on ext3, even when there is free blocks on
      the filesystem.
      
      The problem is triggered in the case the goal block group has 0 free
      blocks , and the rest block groups are skipped due to the check of
      "free_blocks < windowsz/2".  Current code could fall back to non
      reservation allocation to prevent early ENOSPC after examing all the block
      groups with reservation on , but this code was bypassed if the reservation
      window is turned off already, which is true in this case.
      
      This patch fixed two issues:
      1) We don't need to turn off block reservation if the goal block group has
      0 free blocks left and continue search for the rest of block groups.
      
      Current code the intention is to turn off the block reservation if the
      goal allocation group has a few (some) free blocks left (not enough for
      make the desired reservation window),to try to allocation in the goal
      block group, to get better locality.  But if the goal blocks have 0 free
      blocks, it should leave the block reservation on, and continues search for
      the next block groups,rather than turn off block reservation completely.
      
      2) we don't need to check the window size if the block reservation is off.
      
      The problem was originally found and fixed in ext4.
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      Cc: Theodore Ts'o <tytso@mit.edu>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      46d01a22
  2. 28 4月, 2008 3 次提交
  3. 09 2月, 2008 1 次提交
  4. 07 2月, 2008 4 次提交
  5. 14 11月, 2007 1 次提交
    • L
      Revert "ext2/ext3/ext4: add block bitmap validation" · 0b832a4b
      Linus Torvalds 提交于
      This reverts commit 7c9e69fa, fixing up
      conflicts in fs/ext4/balloc.c manually.
      
      The cost of doing the bitmap validation on each lookup - even when the
      bitmap is cached - is absolutely prohibitive.  We could, and probably
      should, do it only when adding the bitmap to the buffer cache.  However,
      right now we are better off just reverting it.
      
      Peter Zijlstra measured the cost of this extra validation as a 85%
      decrease in cached iozone, and while I had a patch that took it down to
      just 17% by not being _quite_ so stupid in the validation, it was still
      a big slowdown that could have been avoided by just doing it right.
      
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Aneesh Kumar <aneesh.kumar@linux.vnet.ibm.com>
      Cc: Andreas Dilger <adilger@clusterfs.com>
      Cc: Mingming Cao <cmm@us.ibm.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0b832a4b
  6. 17 10月, 2007 3 次提交
  7. 21 2月, 2007 1 次提交
  8. 08 12月, 2006 7 次提交
  9. 27 9月, 2006 5 次提交
  10. 28 8月, 2006 1 次提交
  11. 01 7月, 2006 1 次提交
  12. 26 6月, 2006 2 次提交
    • M
      [PATCH] ext3_fsblk_t: the rest of in-kernel filesystem blocks conversion · 43d23f90
      Mingming Cao 提交于
      Convert the ext3 in-kernel filesystem blocks to ext3_fsblk_t.  Convert the
      rest of all unsigned long type in-kernel filesystem blocks to ext3_fsblk_t,
      and replace the printk format string respondingly.
      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>
      43d23f90
    • M
      [PATCH] ext3_fsblk_t: filesystem, group blocks and bug fixes · 1c2bf374
      Mingming Cao 提交于
      Some of the in-kernel ext3 block variable type are treated as signed 4 bytes
      int type, thus limited ext3 filesystem to 8TB (4kblock size based).  While
      trying to fix them, it seems quite confusing in the ext3 code where some
      blocks are filesystem-wide blocks, some are group relative offsets that need
      to be signed value (as -1 has special meaning).  So it seem saner to define
      two types of physical blocks: one is filesystem wide blocks, another is
      group-relative blocks.  The following patches clarify these two types of
      blocks in the ext3 code, and fix the type bugs which limit current 32 bit ext3
      filesystem limit to 8TB.
      
      With this series of patches and the percpu counter data type changes in the mm
      tree, we are able to extend exts filesystem limit to 16TB.
      
      This work is also a pre-request for the recent >32 bit ext3 work, and makes
      the kernel to able to address 48 bit ext3 block a lot easier: Simply redefine
      ext3_fsblk_t from unsigned long to sector_t and redefine the format string for
      ext3 filesystem block corresponding.
      
      Two RFC with a series patches have been posted to ext2-devel list and have
      been reviewed and discussed:
      http://marc.theaimsgroup.com/?l=ext2-devel&m=114722190816690&w=2
      
      http://marc.theaimsgroup.com/?l=ext2-devel&m=114784919525942&w=2
      
      Patches are tested on both 32 bit machine and 64 bit machine, <8TB ext3 and
      >8TB ext3 filesystem(with the latest to be released e2fsprogs-1.39).  Tests
      includes overnight fsx, tiobench, dbench and fsstress.
      
      This patch:
      
      Defines ext3_fsblk_t and ext3_grpblk_t, and the printk format string for
      filesystem wide blocks.
      
      This patch classifies all block group relative blocks, and ext3_fsblk_t blocks
      occurs in the same function where used to be confusing before.  Also include
      kernel bug fixes for filesystem wide in-kernel block variables.  There are
      some fileystem wide blocks are treated as int/unsigned int type in the kernel
      currently, especially in ext3 block allocation and reservation code.  This
      patch fixed those bugs by converting those variables to ext3_fsblk_t(unsigned
      long) type.
      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>
      1c2bf374
  13. 27 3月, 2006 3 次提交
  14. 24 3月, 2006 1 次提交
  15. 12 1月, 2006 1 次提交
  16. 11 1月, 2006 1 次提交
  17. 09 11月, 2005 1 次提交
  18. 31 10月, 2005 2 次提交
    • B
      [PATCH] ext3: sparse fixes · 381be254
      Ben Dooks 提交于
      Fix warnings from sparse due to un-declared functions that should either
      have a header file or have been declared static
      
       fs/ext2/bitmap.c:14:15: warning: symbol 'ext2_count_free' was not declared. Should it be static?
       fs/ext2/namei.c:92:15: warning: symbol 'ext2_get_parent' was not declared. Should it be static?
       fs/ext3/bitmap.c:15:15: warning: symbol 'ext3_count_free' was not declared. Should it be static?
       fs/ext3/namei.c:1013:15: warning: symbol 'ext3_get_parent' was not declared. Should it be static?
       fs/ext3/xattr.c:214:1: warning: symbol 'ext3_xattr_block_get' was not declared. Should it be static?
       fs/ext3/xattr.c:358:1: warning: symbol 'ext3_xattr_block_list' was not declared. Should it be static?
       fs/ext3/xattr.c:630:1: warning: symbol 'ext3_xattr_block_find' was not declared. Should it be static?
       fs/ext3/xattr.c:863:1: warning: symbol 'ext3_xattr_ibody_find' was not declared. Should it be static?
      Signed-off-by: NBen Dooks <ben-linux@fluff.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      381be254
    • G
      [PATCH] Locking problems while EXT3FS_DEBUG on · 5b116879
      Glauber de Oliveira Costa 提交于
      I noticed some problems while running ext3 with the debug flag set on.
      More precisely, I was unable to umount the filesystem.  Some investigation
      took me to the patch that follows.
      
      At a first glance , the lock/unlock I've taken out seems really not
      necessary, as the main code (outside debug) does not lock the super.  The
      only additional danger operations that debug code introduces seems to be
      related to bitmap, but bitmap operations tends to be all atomic anyway.
      
      I also took the opportunity to fix 2 spelling errors.
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      5b116879
  19. 23 9月, 2005 1 次提交