[GIT PULL] iomap: new code for 5.5

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

 



Hi Linus,

Please pull this series containing all the new iomap code for 5.5.  In
this release, we hoisted as much of XFS' writeback code into iomap as
was practicable, refactored the unshare file data function, added the
ability to perform buffered io copy on write, and tweaked various parts
of the directio implementation as needed to port ext4's directio code
(that will be a separate pull).

The branch merges cleanly against this morning's HEAD and survived a few
days' worth of xfstests.  The merge was completely straightforward, so
please let me know if you run into anything weird.  I think there'll be
a second pull request in a week with a few more small cleanups that have
trickled in.

--D

The following changes since commit 4f5cafb5cb8471e54afdc9054d973535614f7675:

  Linux 5.4-rc3 (2019-10-13 16:37:36 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/iomap-5.5-merge-11

for you to fetch changes up to 419e9c38aa075ed0cd3c13d47e15954b686bcdb6:

  iomap: Fix pipe page leakage during splicing (2019-11-22 08:36:02 -0800)

----------------------------------------------------------------
New code for 5.5:
- Make iomap_dio_rw callers explicitly tell us if they want us to wait
- Port the xfs writeback code to iomap to complete the buffered io
  library functions
- Refactor the unshare code to share common pieces
- Add support for performing copy on write with buffered writes
- Other minor fixes
- Fix unchecked return in iomap_bmap
- Fix a type casting bug in a ternary statement in iomap_dio_bio_actor
- Improve tracepoints for easier diagnostic ability
- Fix pipe page leakage in directio reads

----------------------------------------------------------------
Andreas Gruenbacher (1):
      iomap: Fix overflow in iomap_page_mkwrite

Christoph Hellwig (20):
      xfs: initialize iomap->flags in xfs_bmbt_to_iomap
      xfs: set IOMAP_F_NEW more carefully
      xfs: use a struct iomap in xfs_writepage_ctx
      xfs: refactor the ioend merging code
      xfs: turn io_append_trans into an io_private void pointer
      xfs: remove the fork fields in the writepage_ctx and ioend
      iomap: zero newly allocated mapped blocks
      iomap: lift common tracing code from xfs to iomap
      iomap: lift the xfs writeback code to iomap
      iomap: warn on inline maps in iomap_writepage_map
      iomap: move struct iomap_page out of iomap.h
      iomap: cleanup iomap_ioend_compare
      iomap: pass a struct page to iomap_finish_page_writeback
      iomap: better document the IOMAP_F_* flags
      iomap: remove the unused iomap argument to __iomap_write_end
      iomap: always use AOP_FLAG_NOFS in iomap_write_begin
      iomap: ignore non-shared or non-data blocks in xfs_file_dirty
      iomap: move the zeroing case out of iomap_read_page_sync
      iomap: use write_begin to read pages to unshare
      iomap: renumber IOMAP_HOLE to 0

Darrick J. Wong (3):
      iomap: enhance writeback error message
      iomap: iomap_bmap should check iomap_apply return value
      iomap: trace iomap_appply results

Dave Chinner (1):
      iomap: iomap that extends beyond EOF should be marked dirty

Goldwyn Rodrigues (1):
      iomap: use a srcmap for a read-modify-write I/O

Jan Kara (3):
      iomap: Allow forcing of waiting for running DIO in iomap_dio_rw()
      xfs: Use iomap_dio_rw to wait for unaligned direct IO
      iomap: Fix pipe page leakage during splicing

Jan Stancek (1):
      iomap: fix return value of iomap_dio_bio_actor on 32bit systems

Joseph Qi (1):
      fs/iomap: remove redundant check in iomap_dio_rw()

 fs/dax.c                 |  13 +-
 fs/ext2/inode.c          |   2 +-
 fs/ext4/inode.c          |   2 +-
 fs/gfs2/bmap.c           |   3 +-
 fs/gfs2/file.c           |   6 +-
 fs/iomap/Makefile        |  16 +-
 fs/iomap/apply.c         |  32 +-
 fs/iomap/buffered-io.c   | 756 +++++++++++++++++++++++++++++++++++++++++------
 fs/iomap/direct-io.c     |  24 +-
 fs/iomap/fiemap.c        |  10 +-
 fs/iomap/seek.c          |   4 +-
 fs/iomap/swapfile.c      |   3 +-
 fs/iomap/trace.c         |  12 +
 fs/iomap/trace.h         | 191 ++++++++++++
 fs/xfs/libxfs/xfs_bmap.c |  14 +-
 fs/xfs/libxfs/xfs_bmap.h |   3 +-
 fs/xfs/xfs_aops.c        | 754 ++++++++--------------------------------------
 fs/xfs/xfs_aops.h        |  17 --
 fs/xfs/xfs_file.c        |  13 +-
 fs/xfs/xfs_iomap.c       |  51 +++-
 fs/xfs/xfs_iomap.h       |   2 +-
 fs/xfs/xfs_pnfs.c        |   2 +-
 fs/xfs/xfs_reflink.c     |   2 +-
 fs/xfs/xfs_super.c       |  11 +-
 fs/xfs/xfs_trace.h       |  65 ----
 include/linux/iomap.h    | 129 +++++---
 26 files changed, 1215 insertions(+), 922 deletions(-)
 create mode 100644 fs/iomap/trace.c
 create mode 100644 fs/iomap/trace.h



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux