iomap: don't set FIEMAP_EXTENT_MERGED for extent based filesystems
authorChristoph Hellwig <hch@lst.de>
Mon, 29 Aug 2016 01:33:58 +0000 (11:33 +1000)
committerDave Chinner <david@fromorbit.com>
Mon, 29 Aug 2016 01:33:58 +0000 (11:33 +1000)
commit17de0a9ff3df8f54f2f47746d118112d4e61d973
treeb097752623a7a6a8e1be1540a52a6eb376da76eb
parent800b2694f890cc35a1bda63501fc71c94389d517
iomap: don't set FIEMAP_EXTENT_MERGED for extent based filesystems

Filesystems like XFS that use extents should not set the
FIEMAP_EXTENT_MERGED flag in the fiemap extent structures.  To allow
for both behaviors for the upcoming gfs2 usage split the iomap
type field into type and flags, and only set FIEMAP_EXTENT_MERGED if
the IOMAP_F_MERGED flag is set.  The flags field will also come in
handy for future features such as shared extents on reflink-enabled
file systems.

Reported-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/iomap.c
include/linux/iomap.h