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

Brad Figg brad.figg at canonical.com
Tue Jun 22 20:42:45 UTC 2010


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

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




More information about the kernel-team mailing list