diff options
author | Christoph Hellwig <hch@lst.de> | 2017-02-06 19:50:49 +0100 |
---|---|---|
committer | Darrick J. Wong <darrick.wong@oracle.com> | 2017-02-07 02:47:47 +0100 |
commit | a14234c72bf41ac96bc8c98e96e2c84b6d4bd4f2 (patch) | |
tree | 711d321fd0656ef512522b0293a12b836d6afecd /fs/dcookies.c | |
parent | xfs: return the converted extent in __xfs_reflink_convert_cow (diff) | |
download | linux-a14234c72bf41ac96bc8c98e96e2c84b6d4bd4f2.tar.xz linux-a14234c72bf41ac96bc8c98e96e2c84b6d4bd4f2.zip |
xfs: go straight to real allocations for direct I/O COW writes
When we allocate COW fork blocks for direct I/O writes we currently first
create a delayed allocation, and then convert it to a real allocation
once we've got the delayed one.
As there is no good reason for that this patch instead makes use call
xfs_bmapi_write from the COW allocation path. The only interesting bits
are a few tweaks the low-level allocator to allow for this, most notably
the need to remove the call to xfs_bmap_extsize_align for the cowextsize
in xfs_bmap_btalloc - for the existing convert case it's a no-op, but
for the direct allocation case it would blow up our block reservation
way beyond what we reserved for the transaction.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Diffstat (limited to 'fs/dcookies.c')
0 files changed, 0 insertions, 0 deletions