[Lucid] SRU: Lucid kernel is missing a large number of important ext4 bug fixes

Brad Figg brad.figg at canonical.com
Wed Jun 23 14:20:12 UTC 2010


On 06/23/2010 12:12 AM, Stefan Bader wrote:
> Attached are my notes. There were some patches that are really hard to estimate
> their impact. On the other hand also quite a few of them are limited to fix
> issues on non-default use modes.
>
> I would vote for having a test kernel and getting the xfstest suite (usable for
> ext4 as well) ready and then split up test runs between us: I guess one 64bit,
> one 32bit and probably 32bit userspace with 64bit kernel.
>
> If we feel confident with that, we would proceed with adding the patches to the
> next proposed.
>
> I'd ACK when I done my share of test.
>
> -Stefan
>
> On 06/22/2010 10:42 PM, Brad Figg wrote:
>> BugLink: http://bugs.launchpad.net/bugs/5088069
>>
>> SRU Justification
>>
>> Impact:
>> The following patches are heading to the stable maintainers tree and will eventually get pulled into
>>    the
>> Lucid tree. The earlier we can get these in the fewer issues our users will encounter. We will be getting
>> these through stable-tree updates, we would just be pulling them in a little earlier.
>>
>> The following patches should really be applied to the Lucid 2.6.32-22.33 kernel:
>>
>> ftp://ftp.kernel.org/pub/linux/kernel/people/tytso/ext4-patches/ext4-patches-for-2.6.32.11--14.tar.gz
>>
>> There is a git tree you may find useful here:
>>
>> git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git lucid-2.6.32-ext4
>>
>> It fixes a very large number of ext4 bugs, including (but not limited to):
>>
>> http://bugzilla.kernel.org/show_bug.cgi?id=14286
>> http://bugzilla.kernel.org/show_bug.cgi?id=14936
>> http://bugzilla.kernel.org/show_bug.cgi?id=15420
>> http://bugzilla.kernel.org/show_bug.cgi?id=15579
>> http://bugzilla.kernel.org/show_bug.cgi?id=13549
>> http://bugzilla.kernel.org/show_bug.cgi?id=15742
>> http://bugzilla.kernel.org/show_bug.cgi?id=15768
>> http://bugzilla.kernel.org/show_bug.cgi?id=15792
>> http://bugzilla.kernel.org/show_bug.cgi?id=15827
>>
>> This patch has been submitted upstream, but I'm not sure if Greg K-H will be doing another 2.6.32.y kernel release.
>>
>> Testing:
>>      TBD
>>
>>
>> The following changes since commit 59152141a98f95f71e8dcc505c226ceaf1c3abc7:
>>     Yin Kangkai (1):
>>           jbd: jbd-debug and jbd2-debug should be writable
>>
>> are available in the git repository at:
>>
>>     git://kernel.ubuntu.com/bradf/ubuntu-lucid lp588069
>>
>> Akira Fujita (3):
>>         ext4: Fix insertion point of extent in mext_insert_across_blocks()
>>         ext4: Fix the NULL reference in double_down_write_data_sem()
>>         ext4: Code cleanup for EXT4_IOC_MOVE_EXT ioctl
>>
>> Aneesh Kumar K.V (4):
>>         ext4: Ensure zeroout blocks have no dirty metadata
>>         ext4: Handle -EDQUOT error on write
>>         ext4: Fix quota accounting error with fallocate
>>         ext4: Drop EXT4_GET_BLOCKS_UPDATE_RESERVE_SPACE flag
>>
>> Ben Hutchings (2):
>>         ext4: Conditionally define compat ioctl numbers
>>         ext4: Fix compat EXT4_IOC_ADD_GROUP
>>
>> Christian Borntraeger (1):
>>         ext4: allow defrag (EXT4_IOC_MOVE_EXT) in 32bit compat mode
>>
>> Curt Wohlgemuth (5):
>>         ext4: Fix BUG_ON at fs/buffer.c:652 in no journal mode
>>         ext4: Fix possible lost inode write in no journal mode
>>         ext4: Fix buffer head leaks after calls to ext4_get_inode_loc()
>>         ext4: Remove extraneous newlines in ext4_msg() calls
>>         ext4: check for a good block group before loading buddy pages
>>
>> Dmitry Monakhov (10):
>>         ext4: fix error handling in migrate
>>         ext4: explicitly remove inode from orphan list after failed direct io
>>         ext4: Handle non empty on-disk orphan link
>>         ext4: check missed return value in ext4_sync_file()
>>         ext4: fix quota accounting in case of fallocate
>>         ext4: Do not zero out uninitialized extents beyond i_size
>>         ext4: clean up inode bitmaps manipulation in ext4_free_inode
>>         ext4: init statistics after journal recovery
>>         ext4: Use bitops to read/modify i_flags in struct ext4_inode_info
>>         ext4: restart ext4_ext_remove_space() after transaction restart
>>
>> Eric Sandeen (5):
>>         ext4: Fixed inode allocator to correctly track a flex_bg's used_dirs
>>         ext4: check s_log_groups_per_flex in online resize code
>>         ext4: don't return to userspace after freezing the fs with a mutex held
>>         ext4: stop issuing discards if not supported by device
>>         ext4: don't scan/accumulate more pages than mballoc will allocate
>>
>> Frank Mayhar (1):
>>         ext4: Make fsync sync new parent directories in no-journal mode
>>
>> Jan Kara (2):
>>         ext4: Fix estimate of # of blocks needed to write indirect-mapped files
>>         ext4: Show journal_checksum option
>>
>> Jiaying Zhang (1):
>>         ext4: Add flag to files with blocks intentionally past EOF
>>
>> Jing Zhang (3):
>>         ext4: fix memory leaks in error path handling of ext4_ext_zeroout()
>>         ext4: Remove unnecessary call to ext4_get_group_desc() in mballoc
>>         ext4: rename ext4_mb_release_desc() to ext4_mb_unload_buddy()
>>
>> Julia Lawall (1):
>>         ext4: Eliminate potential double free on error path
>>
>> Nikanth Karthikesan (1):
>>         ext4: Prevent creation of files larger than RLIMIT_FSIZE using fallocate
>>
>> Richard Kennedy (1):
>>         ext4: return correct wbc.nr_to_write in ext4_da_writepages
>>
>> Surbhi Palande (1):
>>         ext4: replace BUG() with return -EIO in ext4_ext_get_blocks
>>
>> Tao Ma (1):
>>         ext4: Fix fencepost error in chosing choosing group vs file preallocation.
>>
>> Theodore Ts'o (8):
>>         ext4, jbd2: Add barriers for file systems with exernal journals
>>         ext4: Patch up how we claim metadata blocks for quota purposes
>>         ext4: Fix accounting of reserved metadata blocks
>>         ext4: Calculate metadata requirements more accurately
>>         ext4: Use bitops to read/modify EXT4_I(inode)->i_state
>>         ext4: Issue the discard operation *before* releasing the blocks to be reused
>>         ext4: Avoid crashing on NULL ptr dereference on a filesystem error
>>         ext4: Clear the EXT4_EOFBLOCKS_FL flag only when warranted
>>
>> Toshiyuki Okajima (1):
>>         ext4: make "offset" consistent in ext4_check_dir_entry()
>>
>>    fs/ext4/dir.c          |   12 +-
>>    fs/ext4/ext4.h         |  157 ++++++++++++++++++---
>>    fs/ext4/ext4_extents.h |    3 +-
>>    fs/ext4/ext4_jbd2.c    |    2 +-
>>    fs/ext4/ext4_jbd2.h    |    6 +-
>>    fs/ext4/extents.c      |  251 ++++++++++++++++++++++++++--------
>>    fs/ext4/file.c         |    6 +-
>>    fs/ext4/fsync.c        |   49 ++++++-
>>    fs/ext4/ialloc.c       |   98 ++++++-------
>>    fs/ext4/inode.c        |  365 ++++++++++++++++++++++++++++--------------------
>>    fs/ext4/ioctl.c        |   37 +++++-
>>    fs/ext4/mballoc.c      |  132 ++++++++++++------
>>    fs/ext4/migrate.c      |   37 +++---
>>    fs/ext4/move_extent.c  |   28 ++--
>>    fs/ext4/namei.c        |   24 +++-
>>    fs/ext4/resize.c       |    3 +-
>>    fs/ext4/super.c        |   67 +++++-----
>>    fs/ext4/xattr.c        |   28 ++--
>>    fs/jbd2/checkpoint.c   |   15 ++
>>    fs/jbd2/commit.c       |   19 ++-
>>    include/linux/jbd2.h   |    1 +
>>    21 files changed, 905 insertions(+), 435 deletions(-)
>>
>

I now have test kernels available in my ppa (https://launchpad.net/~brad-figg/+archive/ppa).

-- 
Brad Figg brad.figg at canonical.com http://www.canonical.com




More information about the kernel-team mailing list