[PATCH 67/71] xfs: fail ->bmap for reflink inodes
Christoph Hellwig
hch at infradead.org
Tue Sep 6 10:29:48 CDT 2016
On Thu, Aug 25, 2016 at 04:39:13PM -0700, Darrick J. Wong wrote:
> From: Christoph Hellwig <hch at lst.de>
>
> Have xfs_vm_bmap return zero for reflinked files. This hack prevents
> using a file with shared blocks as a swap file, because we don't want
> to deal with CoW when we're (probably) low on memory.
>
> Signed-off-by: Christoph Hellwig <hch at lst.de>
> [darrick.wong at oracle.com: add a more descriptive changelog]
Which happens to be incorrect :) The swap code uses ->bmap to build
a logical to physical block map at swapon time (to avoid allocations
or even just block mappings under memory pressure I suspect). This
means we'd get reliable data corruption when COWing a swap file.
> + * The swap code (ab-)uses ->bmap to get a block mapping and then
> + * bypasse?? the file system for actual I/O. We really can't allow
Also it seems like I introduced some weird character instead of an
"s" here..
More information about the xfs
mailing list