Re: [PATCH 2/3] common/xfs: work around a hang-on-stdin bug in xfs_admin 5.11

Brian Foster
2021-03-31T16:40:23Z

On Tue, Mar 30, 2021 at 06:08:15PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> xfs_admin in xfsprogs 5.11 has a bug wherein a caller who specifies an
> external log device forces xfs_db to be invoked, potentially with zero
> command arguments. When this happens, xfs_db will wait for input on
> stdin, which causes fstests to hang. Since xfs_admin is not an
> interactive tool, redirect stdin from /dev/null to prevent this issue.
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---

Reviewed-by: Brian Foster <bfoster@redhat.com>

> common/xfs | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
>
> diff --git a/common/xfs b/common/xfs
> index 189da54b..c97e08ba 100644
> --- a/common/xfs
> +++ b/common/xfs
> @@ -277,7 +277,13 @@ _scratch_xfs_admin()
> _notrun 'xfs_admin does not support rt devices'
> rt_opts+=(-r "$SCRATCH_RTDEV")
> fi
> - $XFS_ADMIN_PROG "${rt_opts[@]}" "$@" "${options[@]}"
> +
> + # xfs_admin in xfsprogs 5.11 has a bug where an external log device
> + # forces xfs_db to be invoked, potentially with zero command arguments.
> + # When this happens, xfs_db will wait for input on stdin, which causes
> + # fstests to hang. Since xfs_admin is not an interactive tool, we
> + # can redirect stdin from /dev/null to prevent this issue.
> + $XFS_ADMIN_PROG "${rt_opts[@]}" "$@" "${options[@]}" < /dev/null
> }
>
> _scratch_xfs_logprint()
>