[GIT PULL] xfs: updates for 4.1-rc1

From: Dave Chinner
Date: Wed Apr 22 2015 - 22:12:30 EST

Hi Linus,

Can you please pull the XFS updates from the tag below? The changes
are detailed in the tag message, so I won't go over them again here.
The only thing of note is the direct IO fixes that we merged last
week after the window opened. Even though a little late, they fix a
user reported data corruption and have been pretty well tested. I
figured there was not much point waiting another 2 weeks for -rc1 to
be released just so I could send them to you....

Note that there will be merge conflicts when you merge this tag. The
resolution is pretty straight forward but there's also a direct IO
API change that will throw build errors if not fixed during the
merge. From Stephen Rothwell's linux-next merge/build process, the
DIO API fix that needs to be made is here:


And the merge resolution is here:


I would have simple attached a merge commit patch if I could have
worked out how to get just the above changes from the merge commit.
I can get a combined diff that has lots of noise in it via git show,
but I couldn't find a way just to output a simple unified diff. Is
there any trick to this, or any specific way you'd prefer that I
communicate such issues in future?


The following changes since commit c517d838eb7d07bbe9507871fab3931deccff539:

Linux 4.0-rc1 (2015-02-22 18:21:14 -0800)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs.git tags/xfs-for-linus-4.1-rc1

for you to fetch changes up to 542c311813d5cb2e6f0dfa9557f41c829b8fb6a0:

Merge branch 'xfs-dio-extend-fix' into for-next (2015-04-16 22:13:18 +1000)


xfs: update for 4.1-rc1

This update contains:
o conversion of per-cpu superblock accounting to use generic counters
o new inode mmap lock so that we can lock page faults out of truncate, hole
punch and other direct extent manipulation functions to avoid racing mmap
writes from causing data corruption
o rework of direct IO submission and completion to solve data corruption issue
when running concurrent extending DIO writes. Also solves problem of running
IO completion transactions in interrupt context during size extending AIO
o FALLOC_FL_INSERT_RANGE support for inserting holes into a file via direct
extent manipulation to avoid needing to copy data within the file
o attribute block header field overflow fix for 64k block size filesystems
o Lots of changes to log messaging to be more informative and concise when
errors occur. Also prevent a lot of unnecessary log spamming due to cascading
failures in error conditions.
o lots of cleanups and bug fixes

Brian Foster (3):
xfs: pass attr geometry to attr leaf header conversion functions
xfs: use larger in-core attr firstused field and detect overflow
xfs: kill unnecessary firstused overflow check on attr3 leaf removal

Byoungyoung Lee (1):
xfs: xfs_mru_cache_insert() should use GFP_NOFS

Christoph Hellwig (1):
xfs: unlock i_mutex in xfs_break_layouts

Dave Chinner (38):
xfs: use generic percpu counters for inode counter
xfs: use generic percpu counters for free inode counter
xfs: use generic percpu counters for free block counter
xfs: Remove icsb infrastructure
xfs: introduce xfs_mod_frextents
xfs: replace xfs_mod_incore_sb_batched
xfs: remove xfs_mod_incore_sb API
xfs: introduce mmap/truncate lock
xfs: use i_mmaplock on read faults
xfs: use i_mmaplock on write faults
xfs: take i_mmap_lock on extent manipulation operations
xfs: xfs_setattr_size no longer races with page faults
xfs: lock out page faults from extent swap operations
xfs: ensure truncate forces zeroed blocks to disk
xfs: inodes are new until the dentry cache is set up
xfs: xfs_alloc_fix_minleft can underflow near ENOSPC
Merge branch 'xfs-misc-fixes-for-4.1' into for-next
Merge branch 'xfs-generic-sb-counters' into for-next
Merge branch 'xfs-mmap-lock' into for-next
xfs: clean up inode locking for RENAME_WHITEOUT
xfs: cleanup xfs_rename error handling
xfs: factor out xfs_finish_rename()
xfs: make xfs_cross_rename() complete fully
xfs: add RENAME_WHITEOUT support
Merge branch 'xfs-rename-whiteout' into for-next
xfs: remove xfs_bmap_sanity_check()
Merge branch 'xfs-misc-fixes-for-4.1-2' into for-next
Merge branch 'fallocate-insert-range' into for-next
Merge branch 'xfs-misc-fixes-for-4.1-3' into for-next
xfs: factor DIO write mapping from get_blocks
xfs: move DIO mapping size calculation
xfs: DIO needs an ioend for writes
xfs: handle DIO overwrite EOF update completion correctly
xfs: DIO writes within EOF don't need an ioend
xfs: DIO write completion size updates race
xfs: direct IO EOF zeroing needs to drain AIO
xfs: using generic_file_direct_write() is unnecessary
Merge branch 'xfs-dio-extend-fix' into for-next

Eric Sandeen (9):
xfs: Ensure we have target_ip for RENAME_EXCHANGE
xfs: log unmount events on console
xfs: clarify async write failure ratelimit message
xfs: cancel failed transaction in xfs_fs_commit_blocks()
xfs: remove deprecated mount options
xfs: fix NULL pointer dereference in xfs_filestream_lookup_ag()
xfs: disallow ro->rw remount on norecovery mount

Fabian Frederick (2):
xfs: use bool instead of int in xfs_rename()
xfs: fix shadow warning in xfs_da3_root_split()

Jan Kara (1):
xfs: Fix quota type in quota structures when reusing quota file

Joe Perches (1):
xfs: Fix incorrect positive ENOMEM return

Namjae Jeon (2):
fs: Add support FALLOC_FL_INSERT_RANGE for fallocate
xfs: Add support FALLOC_FL_INSERT_RANGE for fallocate

Scott Wood (1):
xfs: %pF is only for function pointers

Wang Sheng-Hui (1):
xfs: remove old and redundant comment in xfs_mount_validate_sb

kbuild test robot (1):
xfs: xfs_shift_file_space can be static

Documentation/filesystems/xfs.txt | 29 +-
fs/open.c | 8 +-
fs/xfs/libxfs/xfs_alloc.c | 104 +++--
fs/xfs/libxfs/xfs_attr_leaf.c | 150 ++++--
fs/xfs/libxfs/xfs_attr_leaf.h | 6 +-
fs/xfs/libxfs/xfs_bmap.c | 554 +++++++++++++++-------
fs/xfs/libxfs/xfs_bmap.h | 13 +-
fs/xfs/libxfs/xfs_btree.c | 24 +-
fs/xfs/libxfs/xfs_da_btree.c | 8 +-
fs/xfs/libxfs/xfs_da_format.h | 14 +-
fs/xfs/libxfs/xfs_dir2_data.c | 39 +-
fs/xfs/libxfs/xfs_format.h | 62 ---
fs/xfs/libxfs/xfs_ialloc.c | 48 +-
fs/xfs/libxfs/xfs_sb.c | 20 +-
fs/xfs/xfs_aops.c | 270 +++++++----
fs/xfs/xfs_attr_inactive.c | 3 +-
fs/xfs/xfs_attr_list.c | 9 +-
fs/xfs/xfs_bmap_util.c | 164 ++++---
fs/xfs/xfs_bmap_util.h | 2 +
fs/xfs/xfs_buf_item.c | 4 +-
fs/xfs/xfs_discard.c | 2 +-
fs/xfs/xfs_error.c | 2 +-
fs/xfs/xfs_error.h | 8 +-
fs/xfs/xfs_file.c | 175 +++++--
fs/xfs/xfs_filestream.c | 2 +-
fs/xfs/xfs_fsops.c | 20 +-
fs/xfs/xfs_icache.c | 4 +-
fs/xfs/xfs_inode.c | 554 +++++++++++++---------
fs/xfs/xfs_inode.h | 58 ++-
fs/xfs/xfs_ioctl.c | 7 +-
fs/xfs/xfs_iomap.c | 3 +-
fs/xfs/xfs_iops.c | 127 ++---
fs/xfs/xfs_iops.h | 2 -
fs/xfs/xfs_itable.c | 2 +-
fs/xfs/xfs_linux.h | 9 -
fs/xfs/xfs_log_recover.c | 4 +-
fs/xfs/xfs_mount.c | 918 +++++--------------------------------
fs/xfs/xfs_mount.h | 95 +---
fs/xfs/xfs_mru_cache.c | 2 +-
fs/xfs/xfs_pnfs.c | 11 +-
fs/xfs/xfs_pnfs.h | 5 +-
fs/xfs/xfs_qm.c | 18 +-
fs/xfs/xfs_super.c | 132 ++++--
fs/xfs/xfs_super.h | 2 +
fs/xfs/xfs_symlink.c | 58 ++-
fs/xfs/xfs_trace.h | 29 +-
fs/xfs/xfs_trans.c | 234 ++++++----
include/linux/falloc.h | 6 +
include/uapi/linux/falloc.h | 17 +
49 files changed, 2061 insertions(+), 1976 deletions(-)
Dave Chinner
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/