Re: [PATCH 5/5] xfs_io: print dedupe errors to stderr, not stdout

Darrick J. Wong
2016-02-02T05:16:24Z

On Tue, Feb 02, 2016 at 04:14:10PM +1100, Dave Chinner wrote:
> On Fri, Jan 22, 2016 at 04:35:31PM -0800, Darrick J. Wong wrote:
> > Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
> > ---
> > io/reflink.c | 6 ++++--
> > 1 file changed, 4 insertions(+), 2 deletions(-)
> >
> >
> > diff --git a/io/reflink.c b/io/reflink.c
> > index def01be..a09e82d 100644
> > --- a/io/reflink.c
> > +++ b/io/reflink.c
> > @@ -78,11 +78,13 @@ dedupe_ioctl(
> > goto done;
> > }
> > if (info->status < 0) {
> > - printf("dedupe: %s\n", _(strerror(-info->status)));
> > + fprintf(stderr, "dedupe: %s\n",
> > + _(strerror(-info->status)));
> > goto done;
> > }
> > if (info->status == XFS_EXTENT_DATA_DIFFERS) {
> > - printf(_("Extents did not match.\n"));
> > + fprintf(stderr, "dedupe: %s\n",
> > + _("Extents did not match."));
> > goto done;
> > }
> > if (args->length != 0 &&
>
> I think this patch breaks dedupe detection in xfstests. I see the
> dedupe tests running instead of being detected as not supported, and
> all the diffs from test failures contain:
>
> +dedupe: Invalid argument
>
> This is on 4.5-rc2, so I suspect it's not returning the expected
> "not supported" error to xfstests from the ioctl.

Christoph sent a patch "[PATCH 3/4] xfstests: also treat EINVAL as
reflink/dedup not supported" to take care of that.

--D

>
> Cheers,
>
> Dave.
> --
> Dave Chinner
> david@fromorbit.com