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

Stefan Bader stefan.bader at canonical.com
Wed Jun 23 07:12:48 UTC 2010


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(-)
> 

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ext4-2.6.32.txt
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20100623/3910ffd2/attachment.txt>


More information about the kernel-team mailing list