Re: [PATCH v4 9/9] xfs: support STATX_DIOALIGN

From: Darrick J. Wong
Date: Fri Jul 22 2022 - 12:24:48 EST


On Fri, Jul 22, 2022 at 12:12:28AM -0700, Eric Biggers wrote:
> From: Eric Biggers <ebiggers@xxxxxxxxxx>
>
> Add support for STATX_DIOALIGN to xfs, so that direct I/O alignment
> restrictions are exposed to userspace in a generic way.
>
> Signed-off-by: Eric Biggers <ebiggers@xxxxxxxxxx>

LGTM
Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx>

--D

> ---
> fs/xfs/xfs_iops.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c
> index 29f5b8b8aca69a..bac3f56141801e 100644
> --- a/fs/xfs/xfs_iops.c
> +++ b/fs/xfs/xfs_iops.c
> @@ -605,6 +605,15 @@ xfs_vn_getattr(
> stat->blksize = BLKDEV_IOSIZE;
> stat->rdev = inode->i_rdev;
> break;
> + case S_IFREG:
> + if (request_mask & STATX_DIOALIGN) {
> + struct xfs_buftarg *target = xfs_inode_buftarg(ip);
> +
> + stat->result_mask |= STATX_DIOALIGN;
> + stat->dio_mem_align = target->bt_logical_sectorsize;
> + stat->dio_offset_align = target->bt_logical_sectorsize;
> + }
> + fallthrough;
> default:
> stat->blksize = xfs_stat_blksize(ip);
> stat->rdev = 0;
> --
> 2.37.0
>