1. 18 10月, 2007 9 次提交
    • A
      Ext4: Uninitialized Block Groups · 717d50e4
      Andreas Dilger 提交于
      In pass1 of e2fsck, every inode table in the fileystem is scanned and checked,
      regardless of whether it is in use.  This is this the most time consuming part
      of the filesystem check.  The unintialized block group feature can greatly
      reduce e2fsck time by eliminating checking of uninitialized inodes.
      
      With this feature, there is a a high water mark of used inodes for each block
      group.  Block and inode bitmaps can be uninitialized on disk via a flag in the
      group descriptor to avoid reading or scanning them at e2fsck time.  A checksum
      of each group descriptor is used to ensure that corruption in the group
      descriptor's bit flags does not cause incorrect operation.
      
      The feature is enabled through a mkfs option
      
      	mke2fs /dev/ -O uninit_groups
      
      A patch adding support for uninitialized block groups to e2fsprogs tools has
      been posted to the linux-ext4 mailing list.
      
      The patches have been stress tested with fsstress and fsx.  In performance
      tests testing e2fsck time, we have seen that e2fsck time on ext3 grows
      linearly with the total number of inodes in the filesytem.  In ext4 with the
      uninitialized block groups feature, the e2fsck time is constant, based
      solely on the number of used inodes rather than the total inode count.
      Since typical ext4 filesystems only use 1-10% of their inodes, this feature can
      greatly reduce e2fsck time for users.  With performance improvement of 2-20
      times, depending on how full the filesystem is.
      
      The attached graph shows the major improvements in e2fsck times in filesystems
      with a large total inode count, but few inodes in use.
      
      In each group descriptor if we have
      
      EXT4_BG_INODE_UNINIT set in bg_flags:
              Inode table is not initialized/used in this group. So we can skip
              the consistency check during fsck.
      EXT4_BG_BLOCK_UNINIT set in bg_flags:
              No block in the group is used. So we can skip the block bitmap
              verification for this group.
      
      We also add two new fields to group descriptor as a part of
      uninitialized group patch.
      
              __le16  bg_itable_unused;       /* Unused inodes count */
              __le16  bg_checksum;            /* crc16(sb_uuid+group+desc) */
      
      bg_itable_unused:
      
      If we have EXT4_BG_INODE_UNINIT not set in bg_flags
      then bg_itable_unused will give the offset within
      the inode table till the inodes are used. This can be
      used by fsck to skip list of inodes that are marked unused.
      
      bg_checksum:
      Now that we depend on bg_flags and bg_itable_unused to determine
      the block and inode usage, we need to make sure group descriptor
      is not corrupt. We add checksum to group descriptor to
      detect corruption. If the descriptor is found to be corrupt, we
      mark all the blocks and inodes in the group used.
      Signed-off-by: NAvantika Mathur <mathur@us.ibm.com>
      Signed-off-by: NAndreas Dilger <adilger@clusterfs.com>
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      717d50e4
    • E
      ext4: remove #ifdef CONFIG_EXT4_INDEX · 4074fe37
      Eric Sandeen 提交于
      CONFIG_EXT4_INDEX is not an exposed config option in the kernel, and it is
      unconditionally defined in ext4_fs.h.  tune2fs is already able to turn off
      dir indexing, so at this point it's just cluttering up the code.  Remove
      it.
      Signed-off-by: NEric Sandeen <sandeen@redhat.com>
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      4074fe37
    • C
      ext4: Remove (partial, never completed) fragment support · f077d0d7
      Coly Li 提交于
      Fragment support in ext2/3/4 was never implemented, and it probably will
      never be implemented.   So remove it from ext4.
      Signed-off-by: NColy Li <coyli@suse.de>
      Acked-by: NAndreas Dilger <adilger@clusterfs.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      f077d0d7
    • M
      jbd2: JBD_XXX to JBD2_XXX naming cleanup · cd02ff0b
      Mingming Cao 提交于
      change JBD_XXX macros to JBD2_XXX in JBD2/Ext4
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      cd02ff0b
    • M
      JBD2: replace jbd_kmalloc with kmalloc directly. · 2d917969
      Mingming Cao 提交于
      This patch cleans up jbd_kmalloc and replace it with kmalloc directly
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      2d917969
    • M
      JBD: replace jbd_kmalloc with kmalloc directly · a5005da2
      Mingming Cao 提交于
      This patch cleans up jbd_kmalloc and replace it with kmalloc directly
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      a5005da2
    • M
      JBD2: jbd2 slab allocation cleanups · af1e76d6
      Mingming Cao 提交于
      JBD2: Replace slab allocations with page allocations
      
      JBD2 allocate memory for committed_data and frozen_data from slab. However
      JBD2 should not pass slab pages down to the block layer. Use page allocator
      pages instead. This will also prepare JBD for the large blocksize patchset.
      Signed-off-by: NChristoph Lameter <clameter@sgi.com>
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      af1e76d6
    • M
      JBD: JBD slab allocation cleanups · c089d490
      Mingming Cao 提交于
      JBD: Replace slab allocations with page allocations
      
      JBD allocate memory for committed_data and frozen_data from slab. However
      JBD should not pass slab pages down to the block layer. Use page allocator pages instead. This will also prepare JBD for the large blocksize patchset.
      Signed-off-by: NChristoph Lameter <clameter@sgi.com>
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      c089d490
    • P
      net: libertas sdio driver · 727c26ed
      Pierre Ossman 提交于
      Add driver for Marvell's Libertas 8385 and 8686 wifi chips.
      Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
      Acked-by: NDan Williams <dcbw@redhat.com>
      727c26ed
  2. 17 10月, 2007 31 次提交