[GIT PULL] ext4 update for 2.6.37

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus,

Please pull from:

  git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git for_linus
or
  git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git upstream-merge

the merge is somewhat complex, since there's been a lot of work going on
in parallel with discard and zeroout changes, as well as the change
block_prepare_write/__block_write_begin.  The changes pass the xfstests
regression test suite, using both 1k and 4k block sizes --- both before
the upstream merge (the for_linus branch) and after doing a trial merge
with the head of your tree as of Wednesday evening (the upstream-merge
branch).

The changes this time around have two major features, which are
responsible for most of the new lines of code.  One is lazy inode table
initialization, which allows ext4 file systems to be mkfs'ed very
quickly.  The second is changing the I/O submission path so that it uses
the block I/O layer directly.  This makes blktraces much smaller, and
makes ext4 far more scalable.  On the boxacle "large file create"
workload, run with 48 and 192 threads on a 48-core AMD box, ext4 now has
a 3x increase in write throughput, and CPU usage has been reduced by a
factor of 3-4.  Most of this was achieved by reducing spinlock
contention on the block queue submission locks.

We also added support for run-time discard of unused blocks using the
new FITRIM ioctl (which has been run by the linux-fs mailing list as a
generic file system-independent interface).

And, of course, a lot of bug fixes and clean ups.

     		      	     	       	     - Ted

Brian King (1):
      jbd2: Fix I/O hang in jbd2_journal_release_jbd_inode

Curt Wohlgemuth (1):
      ext4: use dedicated slab caches for group_info structures

Dmitry Monakhov (1):
      ext4: optimize orphan_list handling for ext4_setattr

Eric Sandeen (10):
      ext4: stop looping in ext4_num_dirty_pages when max_pages reached
      ext4: don't bump up LONG_MAX nr_to_write by a factor of 8
      ext4: fix oops in trace_ext4_mb_release_group_pa
      ext4: don't use ext4_allocation_contexts for tracing
      ext4: queue conversion after adding to inode's completed IO list
      ext4: remove unused ext4_sb_info members
      ext4: tidy up a void argument in inode.c
      ext4: implement writeback livelock avoidance using page tagging
      ext4: update writeback_index based on last page scanned
      ext4: move ext4_mb_{get,put}_buddy_cache_lock and make them static

Kazuya Mio (1):
      ext4: fix compile error in ext4_fallocate()

Lukas Czerner (11):
      ext4: check for negative error code from sb_issue_discard
      ext4: don't hold spinlock while calling ext4_issue_discard()
      Add helper function for blkdev_issue_zeroout (sb_issue_discard)
      ext4: add support for lazy inode table initialization
      ext4: add interface to advertise ext4 features in sysfs
      ext4: use sb_issue_zeroout in setup_new_group_blocks
      ext4: use sb_issue_zeroout in ext4_ext_zeroout
      ext4: Use return value from sb_issue_discard()
      fs: Add FITRIM ioctl
      ext4: Add batched discard support for ext4
      ext4: add batched_discard into ext4 feature list

Maciej Åenczykowski (1):
      ext4: don't update sb journal_devnum when RO dev

Namhyung Kim (1):
      ext4: Check return value of sb_getblk() and friends

Nicolas Kaiser (1):
      ext4: fix unbalanced mutex unlock in error path of ext4_li_request_new

Sergey Senozhatsky (1):
      ext4: fix NULL pointer dereference in print_daily_error_info()

Theodore Ts'o (18):
      ext4: fix EOFBLOCKS_FL handling
      jbd2: Add sanity check for attempts to start handle during umount
      ext4: avoid uninitialized memory references in ext3_htree_next_block()
      ext4: use search_dirblock() in ext4_dx_find_entry()
      ext4: use KMEM_CACHE instead of kmem_cache_create
      ext4: call mpage_da_submit_io() from mpage_da_map_blocks()
      ext4: simplify ext4_writepage()
      ext4: inline ext4_writepage() into mpage_da_submit_io()
      ext4: inline walk_page_buffers() into mpage_da_submit_io
      ext4: move mpage_put_bnr_to_bhs()'s functionality to mpage_da_submit_io()
      ext4: use bio layer instead of buffer layer in mpage_da_submit_io
      ext4: fix kernel oops if the journal superblock has a non-zero j_errno
      ext4: rename {exit,init}_ext4_*() to ext4_{exit,init}_*()
      ext4: make various ext4 functions be static
      ext4: rename {ext,idx}_pblock and inline small extent functions
      ext4: move flush_completed_IO to fs/ext4/fsync.c and make it static
      ext4: rename mark_bitmap_end() to ext4_mark_bitmap_end()
      ext4,jbd2: convert tracepoints to use major/minor numbers

Toshiyuki Okajima (2):
      ext4: improve llseek error handling for overly large seek offsets
      ext4: fix potential infinite loop in ext4_da_writepages()

Wen Congyang (1):
      ext4: avoid null dereference in trace_ext4_mballoc_discard

 Documentation/filesystems/ext4.txt |   14 +
 fs/ext4/Makefile                   |    2 +-
 fs/ext4/balloc.c                   |    5 +-
 fs/ext4/block_validity.c           |    7 +-
 fs/ext4/dir.c                      |    2 +-
 fs/ext4/ext4.h                     |  110 ++++++--
 fs/ext4/ext4_extents.h             |   65 ++++-
 fs/ext4/extents.c                  |  369 ++++++++++-------------
 fs/ext4/file.c                     |   44 +++-
 fs/ext4/fsync.c                    |   83 +++++
 fs/ext4/ialloc.c                   |  136 ++++++++-
 fs/ext4/inode.c                    |  587 +++++++++++++-----------------------
 fs/ext4/mballoc.c                  |  554 ++++++++++++++++++++++------------
 fs/ext4/migrate.c                  |    2 +-
 fs/ext4/move_extent.c              |   22 +-
 fs/ext4/namei.c                    |   63 ++---
 fs/ext4/page-io.c                  |  430 ++++++++++++++++++++++++++
 fs/ext4/resize.c                   |   53 +---
 fs/ext4/super.c                    |  531 +++++++++++++++++++++++++++++++--
 fs/ext4/xattr.c                    |    4 +-
 fs/ext4/xattr.h                    |    8 +-
 fs/ioctl.c                         |   39 +++
 fs/jbd2/checkpoint.c               |   10 +
 fs/jbd2/commit.c                   |   12 +-
 fs/jbd2/journal.c                  |    4 +-
 fs/jbd2/transaction.c              |    1 +
 include/linux/blkdev.h             |    8 +
 include/linux/fs.h                 |    8 +
 include/linux/jbd2.h               |    2 +-
 include/linux/percpu_counter.h     |   10 +
 include/linux/writeback.h          |    2 +
 include/trace/events/ext4.h        |  378 ++++++++++++++---------
 include/trace/events/jbd2.h        |   78 +++--
 33 files changed, 2513 insertions(+), 1130 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux