Re: [RFC PATCH v3 1/3] common/xfs: add a _require_xfs_shrink helper

Eryu Guan
2021-03-28T16:19:04Z

On Mon, Mar 15, 2021 at 07:19:24PM +0800, Gao Xiang wrote:
> In order to detect whether the current kernel supports XFS shrinking.
>
> Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
> ---
> common/xfs | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/common/xfs b/common/xfs
> index 2156749d..ea3b6cab 100644
> --- a/common/xfs
> +++ b/common/xfs
> @@ -432,6 +432,17 @@ _supports_xfs_scrub()
> return 0
> }
>
> +_require_xfs_shrink()
> +{
> + _require_scratch

_require_command "$XFS_GROWFS_PROG" xfs_growfs

> +
> + _scratch_mkfs_xfs > /dev/null
> + _scratch_mount
> + $XFS_GROWFS_PROG -D1 "$SCRATCH_MNT" 2>&1 | grep -q 'Invalid argument' || \
> + _notrun "kernel does not support shrinking"

Better to describe the behavior here to explain why EINVAL means kernel
supports shrink.

Thanks,
Eryu

> + _scratch_unmount
> +}
> +
> # run xfs_check and friends on a FS.
> _check_xfs_filesystem()
> {
> --
> 2.27.0