05 Jan, 2012

3 commits

  • This patch lets ext4_group_add() call ext4_flex_group_add().

    Signed-off-by: Yongqiang Yang
    Signed-off-by: "Theodore Ts'o"

    Yongqiang Yang
     
  • ext4_group_extend_no_check() is moved out from ext4_group_extend(),
    this patch lets ext4_group_extend() call ext4_group_extentd_no_check()
    instead.

    Signed-off-by: Yongqiang Yang
    Signed-off-by: "Theodore Ts'o"

    Yongqiang Yang
     
  • This patch adds new online resize interface, whose input argument is a
    64-bit integer indicating how many blocks there are in the resized fs.

    In new resize impelmentation, all work like allocating group tables
    are done by kernel side, so the new resize interface can support
    flex_bg feature and prepares ground for suppoting resize with features
    like bigalloc and exclude bitmap. Besides these, user-space tools just
    passes in the new number of blocks.

    We delay initializing the bitmaps and inode tables of added groups if
    possible and add multi groups (a flex groups) each time, so new resize
    is very fast like mkfs.

    Signed-off-by: Yongqiang Yang
    Signed-off-by: "Theodore Ts'o"

    Yongqiang Yang
     

04 Jan, 2012

9 commits


10 Sep, 2011

3 commits


01 Aug, 2011

1 commit


31 Jul, 2011

1 commit


28 Jul, 2011

3 commits


27 Jul, 2011

7 commits


21 Mar, 2011

1 commit

  • There are two wrapper functions which do exactly the same thing:
    ext4_journal_release_buffer(), and ext4_handle_release_buffer(). In
    addition, ext4_xattr_block_set() calls jbd2_journal_release_buffer()
    directly.

    Unify all of the code to use ext4_handle_release_buffer(), and get rid
    of ext4_journal_release_buffer().

    Signed-off-by: Amir Goldstein
    Signed-off-by: "Theodore Ts'o"

    Amir Goldstein
     

22 Feb, 2011

1 commit

  • Compile 2.6.38-rc1 with turning EXT4FS_DEBUG on,
    we get following compile warnings. This patch fixes them.

    CC fs/ext4/hash.o
    CC fs/ext4/resize.o
    fs/ext4/resize.c: In function 'setup_new_group_blocks':
    fs/ext4/resize.c:233:2: warning: format '%#04llx' expects type 'long long
    unsigned int', but argument 3 has type 'long unsigned int'
    fs/ext4/resize.c:251:2: warning: format '%#04llx' expects type 'long long
    unsigned int', but argument 3 has type 'long unsigned int'
    CC fs/ext4/extents.o
    CC fs/ext4/ext4_jbd2.o
    CC fs/ext4/migrate.o

    Reported-by: Akira Fujita
    Signed-off-by: "Theodore Ts'o"

    Theodore Ts'o
     

12 Jan, 2011

1 commit

  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (44 commits)
    ext4: fix trimming starting with block 0 with small blocksize
    ext4: revert buggy trim overflow patch
    ext4: don't pass entire map to check_eofblocks_fl
    ext4: fix memory leak in ext4_free_branches
    ext4: remove ext4_mb_return_to_preallocation()
    ext4: flush the i_completed_io_list during ext4_truncate
    ext4: add error checking to calls to ext4_handle_dirty_metadata()
    ext4: fix trimming of a single group
    ext4: fix uninitialized variable in ext4_register_li_request
    ext4: dynamically allocate the jbd2_inode in ext4_inode_info as necessary
    ext4: drop i_state_flags on architectures with 64-bit longs
    ext4: reorder ext4_inode_info structure elements to remove unneeded padding
    ext4: drop ec_type from the ext4_ext_cache structure
    ext4: use ext4_lblk_t instead of sector_t for logical blocks
    ext4: replace i_delalloc_reserved_flag with EXT4_STATE_DELALLOC_RESERVED
    ext4: fix 32bit overflow in ext4_ext_find_goal()
    ext4: add more error checks to ext4_mkdir()
    ext4: ext4_ext_migrate should use NULL not 0
    ext4: Use ext4_error_file() to print the pathname to the corrupted inode
    ext4: use IS_ERR() to check for errors in ext4_error_file
    ...

    Linus Torvalds
     

11 Jan, 2011

1 commit


24 Dec, 2010

1 commit

  • https://bugzilla.kernel.org/show_bug.cgi?id=25352

    This regression was caused by commit a31437b85: "ext4: use
    sb_issue_zeroout in setup_new_group_blocks", by accidentally dropping
    the code which reserved the block group descriptor and inode table
    blocks.

    Signed-off-by: "Theodore Ts'o"

    Theodore Ts'o
     

28 Oct, 2010

3 commits


15 Jun, 2010

1 commit


12 Jun, 2010

1 commit

  • We don't need to set s_dirt in most of the ext4 code when journaling
    is enabled. In ext3/4 some of the summary statistics for # of free
    inodes, blocks, and directories are calculated from the per-block
    group statistics when the file system is mounted or unmounted. As a
    result the superblock doesn't have to be updated, either via the
    journal or by setting s_dirt. There are a few exceptions, most
    notably when resizing the file system, where the superblock needs to
    be modified --- and in that case it should be done as a journalled
    operation if possible, and s_dirt set only in no-journal mode.

    This patch will optimize out some unneeded disk writes when using ext4
    with a journal.

    Signed-off-by: "Theodore Ts'o"

    Theodore Ts'o
     

16 May, 2010

1 commit

  • If groups_per_flex < 2, sbi->s_flex_groups[] doesn't get filled out,
    and every other access to this first tests s_log_groups_per_flex;
    same thing needs to happen in resize or we'll wander off into
    a null pointer when doing an online resize of the file system.

    Thanks to Christoph Biedl, who came up with the trivial testcase:

    # truncate --size 128M fsfile
    # mkfs.ext3 -F fsfile
    # tune2fs -O extents,uninit_bg,dir_index,flex_bg,huge_file,dir_nlink,extra_isize fsfile
    # e2fsck -yDf -C0 fsfile
    # truncate --size 132M fsfile
    # losetup /dev/loop0 fsfile
    # mount /dev/loop0 mnt
    # resize2fs -p /dev/loop0

    https://bugzilla.kernel.org/show_bug.cgi?id=13549

    Reported-by: Alessandro Polverini
    Test-case-by: Christoph Biedl
    Signed-off-by: Eric Sandeen
    Signed-off-by: "Theodore Ts'o"

    Eric Sandeen
     

16 Feb, 2010

1 commit


07 Dec, 2009

1 commit