[PATCH] xfstests: shared/051: update golden output to match the XFS max acl return errno
Dave Chinner
david at fromorbit.com
Tue Mar 11 17:54:16 CDT 2014
On Tue, Mar 11, 2014 at 08:48:20PM +0800, Jeff Liu wrote:
>
> On 03/11 2014 04:53 AM, Dave Chinner wrote:
> > On Mon, Mar 10, 2014 at 04:32:23PM +0800, Jeff Liu wrote:
> >> From: Jie Liu <jeff.liu at oracle.com>
> >>
> >> Update the golden output to match the recently XFS return errno
> >> changes if hit the limits of maximum number of ACLs.
> >>
> >> Signed-off-by: Jie Liu <jeff.liu at oracle.com>
> >> ---
> >> tests/shared/051.out | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/tests/shared/051.out b/tests/shared/051.out
> >> index a871082..354ec6a 100644
> >> --- a/tests/shared/051.out
> >> +++ b/tests/shared/051.out
> >> @@ -280,7 +280,7 @@ mask::rwx
> >> other::rwx
> >>
> >> 1 above xfs acl max
> >> -chacl: cannot set access acl on "largeaclfile": Invalid argument
> >> +chacl: cannot set access acl on "largeaclfile": Argument list too long
> >
> > That breaks the test on older kernels. Can you add a filter that
> > kills the "Invalid argument"/"Argument list too long" part of the
> > error message so the same golden output works for old and new
> > kernels?
>
> How about the following revised version? maybe I missed you comments of "kills the...".
>
> Thanks,
> -Jeff
>
>
> From: Jie Liu <jeff.liu at oracle.com>
>
> On old kernel we return EINVAL if hit the limits of maximum number of
> ACLs but return E2BIG on new kernel, which cause the current test fails
> on new kernel as the output is mismatch to the goldens. In order to make
> the current golden output works for both old and new kernels, this patch
> filter the new error message out to match the olds.
>
> Signed-off-by: Jie Liu <jeff.liu at oracle.com>
> ---
> tests/shared/051 | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/tests/shared/051 b/tests/shared/051
> index e957f86..157eb9c 100755
> --- a/tests/shared/051
> +++ b/tests/shared/051
> @@ -342,7 +342,10 @@ chacl $acl2 largeaclfile
> getfacl --numeric largeaclfile | _filter_aces
>
> echo "1 above xfs acl max"
> -chacl $acl3 largeaclfile
> +# we return E2BIG if hit the max acl limits on new kernel, but EINVAL
> +# on old kernel. So we need to filter the error message out in order
> +# to make the current golden output works for both old and new kernels.
> +chacl $acl3 largeaclfile 2>&1 | sed -e "s/Argument list too long/Invalid argument/"
> getfacl --numeric largeaclfile | _filter_aces
Good, but normally that's done like:
# we return E2BIG if hit the max acl limits on new kernel, but EINVAL
# on old kernel. So we need to filter the error message out in order
# to make the current golden output works for both old and new kernels.
_filter_largeacl()
{
sed -e "s/Argument list too long/Invalid argument/"
}
....
chacl $acl3 largeaclfile 2>&1 | _filter_largeacl
Cheers,
Dave.
--
Dave Chinner
david at fromorbit.com
More information about the xfs
mailing list