[PATCH v3 09/14] xfs: Update xfs_setattr_size() for forcealign

John Garry posted 14 patches 3 months ago
There is a newer version of this series
[PATCH v3 09/14] xfs: Update xfs_setattr_size() for forcealign
Posted by John Garry 3 months ago
For when an inode has forcealign, reserve blocks for same reason which we
were doing for big RT alloc.

Signed-off-by: John Garry <john.g.garry@oracle.com>
---
 fs/xfs/xfs_iops.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c
index 1cdc8034f54d..6e017aa6f61d 100644
--- a/fs/xfs/xfs_iops.c
+++ b/fs/xfs/xfs_iops.c
@@ -926,12 +926,12 @@ xfs_setattr_size(
 	}
 
 	/*
-	 * For realtime inode with more than one block rtextsize, we need the
+	 * For inodes with more than one block alloc unitsize, we need the
 	 * block reservation for bmap btree block allocations/splits that can
 	 * happen since it could split the tail written extent and convert the
 	 * right beyond EOF one to unwritten.
 	 */
-	if (xfs_inode_has_bigrtalloc(ip))
+	if (xfs_inode_alloc_fsbsize(ip) > 1)
 		resblks = XFS_DIOSTRAT_SPACE_RES(mp, 0);
 
 	error = xfs_trans_alloc(mp, &M_RES(mp)->tr_itruncate, resblks,
-- 
2.31.1
Re: [PATCH v3 09/14] xfs: Update xfs_setattr_size() for forcealign
Posted by Darrick J. Wong 2 months, 3 weeks ago
On Thu, Aug 01, 2024 at 04:30:52PM +0000, John Garry wrote:
> For when an inode has forcealign, reserve blocks for same reason which we
> were doing for big RT alloc.
> 
> Signed-off-by: John Garry <john.g.garry@oracle.com>

Looks good,
Reviewed-by: Darrick J. Wong <djwong@kernel.org>

--D

> ---
>  fs/xfs/xfs_iops.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c
> index 1cdc8034f54d..6e017aa6f61d 100644
> --- a/fs/xfs/xfs_iops.c
> +++ b/fs/xfs/xfs_iops.c
> @@ -926,12 +926,12 @@ xfs_setattr_size(
>  	}
>  
>  	/*
> -	 * For realtime inode with more than one block rtextsize, we need the
> +	 * For inodes with more than one block alloc unitsize, we need the
>  	 * block reservation for bmap btree block allocations/splits that can
>  	 * happen since it could split the tail written extent and convert the
>  	 * right beyond EOF one to unwritten.
>  	 */
> -	if (xfs_inode_has_bigrtalloc(ip))
> +	if (xfs_inode_alloc_fsbsize(ip) > 1)
>  		resblks = XFS_DIOSTRAT_SPACE_RES(mp, 0);
>  
>  	error = xfs_trans_alloc(mp, &M_RES(mp)->tr_itruncate, resblks,
> -- 
> 2.31.1
> 
>