GFS2: Pull request (merge window)

From: Bob Peterson
Date: Tue Nov 14 2017 - 11:58:02 EST


Hi Linus,

Please consider pulling the following changes for the GFS2 file system.

Regards,

Bob Peterson
----------------------------------------------------------------
The following changes since commit 9e66317d3c92ddaab330c125dfe9d06eee268aff:

Linux 4.14-rc3 (2017-10-01 14:54:54 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git tags/gfs2-4.15.fixes

for you to fetch changes up to d0920a9cd7e735c429c510b523a100db82c937a1:

gfs2: Allow gfs2_xattr_set to be called with the glock held (2017-10-31 14:26:59 +0100)

----------------------------------------------------------------
We've got a total of 17 GFS2 patches for this merge window. The
patches are basically in three categories: (1) patches related to
broken xfstest cases, (2) patches related to improving iomap and
start using it in GFS2, and (3) general typos and clarifications.

Please note that one of the iomap patches extends beyond GFS2 and
affects other file systems, but it was publically reviewed by a
variety of file system people in the community.

1. Andreas has a patch that simply renames variable 'bsize' to 'factor'
to clarify the logic related to gfs2_block_map.
2. He also has a patch to correctly set ctime in the setflags ioctl,
which fixes broken xfstests test 277.
3. He also fixed broken xfstest 258, due to an atime initialization
problem.
4. He also fixed broken xfstest 307, in which GFS2 was not setting
ctime when setting acls.
5. He has a patch to switch general iomap code from blkno to disk
offset for a variety of file systems.
6. He has a patch to add a new IOMAP_F_DATA_INLINE flag for iomap
to indicate blocks that have data mixed with metadata.
7. I contributed a patch to make inode height info part of the
'metapath' data structure to facilitate using iomap in GFS2.
8. I have a patch to start using iomap inside GFS2 and switch GFS2's
block_map functions to use iomap under the covers.
9. I have a patch to switch GFS2's fiemap implementation from using
block_map to using iomap under the covers.
10. Andreas has a patch to implement SEEK_HOLE and SEEK_DATA via
iomap in GFS2.
11. I have a patch related to journaled data pages not being properly
synced to media when writing inodes. This was caught with xfstests.
12. I have a patch to fix another failing xfstest case in which
switching a file from ordered_write to journaled data via set_flags
caused a deadlock.
13. Andreas has a patch to fix failing xfstest case 066, which was
due to not properly syncing dirty inodes when changing extended
attributes.
14. Andreas fixed a minor typo in a comment.
15. Andreas contributed a patch to partially fix xfstest 424, which
involved GET_FLAGS and SET_FLAGS ioctl. This is also a cleanup
and simplification of the translation of flags from fs flags to
gfs2 flags.
16. He also added support for STATX_ATTR_ in statx, which fixed broken
xfstest 424.
17. He also contributed a fix for failing xfstest 093 which fixes a
recursive glock problem with gfs2_xattr_get and _set.

----------------------------------------------------------------
Andreas Gruenbacher (13):
gfs2: Clarify gfs2_block_map
gfs2: Update ctime in setflags ioctl
gfs2: Support negative atimes
gfs2: Always update inode ctime in set_acl
iomap: Switch from blkno to disk offset
iomap: Add IOMAP_F_DATA_INLINE flag
Merge branch 'master' of git://git.kernel.org/.../tytso/ext4
gfs2: Implement SEEK_HOLE / SEEK_DATA via iomap
gfs2: Fix xattr fsync
gfs2: Fix a harmless typo
gfs2: Fix and clean up {GET,SET}FLAGS ioctl
gfs2: Add support for statx inode flags
gfs2: Allow gfs2_xattr_set to be called with the glock held

Bob Peterson (5):
GFS2: Make height info part of metapath
GFS2: Implement iomap for block_map
GFS2: Switch fiemap implementation to use iomap
GFS2: flush the log and all pages for jdata as we do for WB_SYNC_ALL
GFS2: Take inode off order_write list when setting jdata flag

fs/buffer.c | 4 +-
fs/dax.c | 2 +-
fs/ext2/inode.c | 4 +-
fs/ext4/inode.c | 4 +-
fs/gfs2/Kconfig | 1 +
fs/gfs2/acl.c | 1 +
fs/gfs2/bmap.c | 322 +++++++++++++++++++++++++++++++++++++-------------
fs/gfs2/bmap.h | 4 +
fs/gfs2/file.c | 124 ++++++++++---------
fs/gfs2/inode.c | 89 ++++++++++----
fs/gfs2/inode.h | 2 +
fs/gfs2/super.c | 5 +-
fs/gfs2/trace_gfs2.h | 65 ++++++++++
fs/gfs2/trans.c | 2 +-
fs/gfs2/xattr.c | 63 ++++------
fs/iomap.c | 13 +-
fs/nfsd/blocklayout.c | 4 +-
fs/xfs/xfs_iomap.c | 6 +-
include/linux/iomap.h | 18 +--
19 files changed, 498 insertions(+), 235 deletions(-)