xfs: don't allow bmap on rt files
authorDarrick J. Wong <darrick.wong@oracle.com>
Thu, 22 Jun 2017 03:27:35 +0000 (20:27 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Thu, 22 Jun 2017 03:27:35 +0000 (20:27 -0700)
commiteb5e248d502bec191bd99f04cae8b49992b3abde
treee14d73eda78edad54c1876f5c655840e105ad5fa
parent95989c46d2a156365867b1d795fdefce71bce378
xfs: don't allow bmap on rt files

bmap returns a dumb LBA address but not the block device that goes with
that LBA.  Swapfiles don't care about this and will blindly assume that
the data volume is the correct blockdev, which is totally bogus for
files on the rt subvolume.  This results in the swap code doing IOs to
arbitrary locations on the data device(!) if the passed in mapping is a
realtime file, so just turn off bmap for rt files.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
fs/xfs/xfs_aops.c