diff options
author | Christoph Hellwig <[email protected]> | 2019-10-14 10:07:21 -0700 |
---|---|---|
committer | Darrick J. Wong <[email protected]> | 2019-10-21 09:04:58 -0700 |
commit | bdb2ed2dbdc227a97e8f37ecf0effc3537bcf789 (patch) | |
tree | d091ffba79802fc88df88e60927be95544a58531 | |
parent | e5e634041bc184fe8975e0a32f96985a04ace09f (diff) |
xfs: ignore extent size hints for always COW inodes
There is no point in applying extent size hints for always COW inodes,
as we would just have to COW any extra allocation beyond the data
actually written.
Signed-off-by: Christoph Hellwig <[email protected]>
Reviewed-by: Darrick J. Wong <[email protected]>
Signed-off-by: Darrick J. Wong <[email protected]>
-rw-r--r-- | fs/xfs/xfs_inode.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 18f4b262e61c..2e94deb4610a 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -55,6 +55,12 @@ xfs_extlen_t xfs_get_extsz_hint( struct xfs_inode *ip) { + /* + * No point in aligning allocations if we need to COW to actually + * write to them. + */ + if (xfs_is_always_cow_inode(ip)) + return 0; if ((ip->i_d.di_flags & XFS_DIFLAG_EXTSIZE) && ip->i_d.di_extsize) return ip->i_d.di_extsize; if (XFS_IS_REALTIME_INODE(ip)) |