Features Download
From: Theodore Ts'o <tytso <at> mit.edu>
Subject: ext4 updates for v3.7
Newsgroups: gmane.comp.file-systems.ext4
Date: Friday 5th October 2012 18:54:53 UTC (over 4 years ago)
The following changes since commit

  ext4: fix kernel BUG on large-scale rm -rf commands (2012-08-17 09:42:17

are available in the git repository at:


for you to fetch changes up to c278531d39f3158bfee93dc67da0b77e09776de2:

  ext4: fix ext4_flush_completed_IO wait semantics (2012-10-05 11:31:55

The big new feature added this time is supporting online resizing
using the meta_bg feature.  This allows us to resize file systems
which are greater than 16TB.  In addition, the speed of online
resizing has been improved in general.

We also fix a number of races, some of which could lead to deadlocks,
in ext4's Asynchronous I/O and online defrag support, thanks to good
work by Dmitry Monakhov.

There are also a large number of more minor bug fixes and cleanups
from a number of other ext4 contributors, quite of few of which have
submitted fixes for the first time.

Anatol Pomozov (3):
      ext4: realign trace events structs to make it smaller
      ext4: add missing space to trace message
      ext4: make orphan functions be no-op in no-journal mode

Andrey Sidorov (1):
      ext4: speed up truncate/unlink by not using bforget() unless needed

Ashish Sangwan (1):
      ext4: no need to add inode to orphan list during hole punch

Bernd Schubert (1):
      ext4: always set i_op in ext4_mknod()

Carlos Maiolino (2):
      ext4: fix possible non-initialized variable in
      ext4: ext4_bread usage audit

Djalal Harouni (1):
      ext4: release donor reference when EXT4_IOC_MOVE_EXT ioctl fails

Dmitry Monakhov (16):
      ext4: fix double unlock buffer mess during fs-resize
      ext4: move_extent code cleanup
      ext4: online defrag is not supported for journaled files
      ext4: clean up online defrag bugs in move_extent_per_page()
      ext4: reimplement uninit extent optimization for
      ext4: ext4_inode_info diet
      ext4: give i_aiodio_unwritten a more appropriate name
      ext4: fix unwritten counter leakage
      ext4: completed_io locking cleanup
      ext4: serialize dio nonlocked reads with defrag workers
      ext4: serialize unlocked dio reads with truncate
      ext4: endless truncate due to nonlocked dio readers
      ext4: serialize truncate with owerwrite DIO workers
      ext4: punch_hole should wait for DIO writers
      ext4: fix ext_remove_space for punch_hole case
      ext4: fix ext4_flush_completed_IO wait semantics

Eric Sandeen (2):
      jbd2: don't write superblock when if its empty
      ext4: don't clear orphan list on ro mount with errors

Herton Ronaldo Krzesinski (1):
      ext4: fix crash when accessing /proc/mounts concurrently

Jan Kara (2):
      ext4: fix fdatasync() for files with only i_size changes
      jbd2: fix assertion failure in commit code due to lacking transaction

Lukas Czerner (2):
      ext4: remove unused function ext4_ext_check_cache
      ext4: enable FITRIM ioctl on bigalloc file system

Robin Dong (2):
      ext4: remove unused macro MB_DEFAULT_MAX_GROUPS_TO_SCAN
      ext4: remove unused function argument 'order' in mb_find_extent()

Sachin Kamat (1):
      ext4: replace plain integer with NULL in super.c

Tao Ma (2):
      ext4: remove erroneous ext4_superblock_csum_set() in update_backups()
      ext4: don't call update_backups() multiple times for the same bg

Theodore Ts'o (19):
      ext4: collapse a single extent tree block into the inode if possible
      ext4: don't load the block bitmap for block groups which have no
      ext4: add max_dir_size_kb mount option
      jbd2: check return value of blkdev_issue_flush()
      ext4: check return value of blkdev_issue_flush()
      ext4: return an error if kset_create_and_add fails in ext4_init_fs()
      ext4: drop lock_super()/unlock_super()
      ext4: grow the s_flex_groups array as needed when resizing
      ext4: grow the s_group_info array as needed
      ext4: set bg_itable_unused when resizing
      ext4: convert file system to meta_bg if needed during resizing
      ext4: log a resize update to the console every 10 seconds
      ext4: advertise the fact that the kernel supports meta_bg resizing
      ext4: do not enable delalloc by default for ext2
      ext4: re-enable -o discard functionality in no-journal mode
      ext4: fix online resizing when the # of block groups is constant
      ext4: fix potential deadlock in ext4_nonda_switch()
      fs: reserve fallocate flag codepoint
      ext4: fix mtime update in nodelalloc mode

Wang Sheng-Hui (2):
      ext4: fix trivial typo in comment
      ext4: remove redundant offset check in mext_check_arguments()

Wei Yongjun (2):
      ext4: use kmem_cache_zalloc instead of kmem_cache_alloc/memset
      ext4: convert to use leXX_add_cpu()

Yongqiang Yang (7):
      ext4: ignore last group w/o enough space when resizing instead of
      ext4: report the original old blocks count in a debug message when
      ext4: don't copy non-existent gdt blocks when resizing
      ext4: avoid duplicate writes of the backup bg descriptor blocks
      ext4: add online resizing support for meta_bg and 64-bit file systems
      ext4: check free block counters in ext4_mb_find_by_goal
      ext4: check free inode count before allocating an inode

Zheng Liu (2):
      ext4: make the zero-out chunk size tunable
      ext4: remove duplicated declarations in inode.c

 Documentation/ABI/testing/sysfs-fs-ext4 |  13 +++++
 Documentation/filesystems/ext4.txt      |  10 ++++
 fs/buffer.c                             |  13 +++--
 fs/ext4/ext4.h                          |  49 +++++++++++++---
 fs/ext4/extents.c                       | 258
 fs/ext4/file.c                          |   6 +-
 fs/ext4/fsync.c                         |  92
 fs/ext4/ialloc.c                        |   9 +++
 fs/ext4/indirect.c                      |  18 +++++-
 fs/ext4/inode.c                         |  83 +++++++++++++-------------
 fs/ext4/ioctl.c                         |  25 +-------
 fs/ext4/mballoc.c                       | 129
 fs/ext4/mballoc.h                       |   5 --
 fs/ext4/move_extent.c                   | 520
 fs/ext4/namei.c                         | 105
 fs/ext4/page-io.c                       | 176
 fs/ext4/resize.c                        | 432
 fs/ext4/super.c                         |  92
 fs/fs-writeback.c                       |   1 +
 fs/jbd2/commit.c                        |  40 +++++++++----
 fs/jbd2/journal.c                       |   5 ++
 fs/jbd2/recovery.c                      |   7 ++-
 fs/jbd2/transaction.c                   |  65 ++++++++++++++-------
 fs/nilfs2/file.c                        |   1 +
 include/linux/falloc.h                  |   1 +
 include/trace/events/ext4.h             | 242
 26 files changed, 1500 insertions(+), 897 deletions(-)
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
CD: 3ms