From: "Darrick J. Wong" <djwong@kernel.org>
To: Carlos Maiolino <cem@kernel.org>
Cc: aalbersh@redhat.com, linux-xfs@vger.kernel.org
Subject: Re: [RFC PATCH 1/2] libfrog: make xfrog_defragrange return a positive valued
Date: Wed, 21 Jan 2026 09:42:36 -0800 [thread overview]
Message-ID: <20260121174236.GD5945@frogsfrogsfrogs> (raw)
In-Reply-To: <s3welc2n2qbdqdr4nuwgef4uwckjkq4lzzsnzp3vzxozpkoy6w@hym4evwdf63k>
On Wed, Jan 21, 2026 at 09:57:51AM +0100, Carlos Maiolino wrote:
> On Tue, Jan 20, 2026 at 09:20:39AM -0800, Darrick J. Wong wrote:
> > On Mon, Jan 19, 2026 at 03:26:50PM +0100, cem@kernel.org wrote:
> > > From: Carlos Maiolino <cem@kernel.org>
> > >
> > > Currently, the only user for xfrog_defragrange is xfs_fsr's packfile(),
> > > which expects error to be a positive value.
> > >
> > > Whenever xfrog_defragrange fails, the switch case always falls into the
> > > default clausule, making the error message pointless.
> > >
> > > Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com>
> > > ---
> > > libfrog/file_exchange.c | 4 ++--
> > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/libfrog/file_exchange.c b/libfrog/file_exchange.c
> > > index e6c3f486b0ff..31bbc6da60c3 100644
> > > --- a/libfrog/file_exchange.c
> > > +++ b/libfrog/file_exchange.c
> > > @@ -232,7 +232,7 @@ xfrog_defragrange(
> > > if (ret) {
> > > if (errno == EOPNOTSUPP || errno != ENOTTY)
> > > goto legacy_fallback;
> > > - return -errno;
> > > + return errno;
> >
> > Hrmm. If you're going to change the polarity of the error numbers (e.g.
> > negative to positive) then please update the comments.
>
> Sorry, I did it quickly and didn't even pay attention there were
> comments :)
>
> >
> > That said, I'd prefer to keep the errno polarity the same at least
> > within a .c file ... even though libfrog is a mess of different error
> > number return strategies. What if the callsite changed to:
> >
> > /* Swap the extents */
> > error = -xfrog_defragrange(...);
>
> This looks to just add more confusion to it IMHO, it's not 'easy' for me
> at least to notice the minus sign in front of it.
>
> What about just changing the switch case to catch for -ERROR instead of
> their positive counterparts? At least we stop playing the error sign
> change and just catch what we already have.
Sure, do whatever you think is best. This whole part of C is an
unfixable mess as far as I'm concerned.
--D
>
> >
> > and
> >
> > /* Snapshot file_fd before we start copying data... */
> > error = -xfrog_defragrange_prep(...);
> >
> > (and I guess io/exchrange.c also needs a fix)
> >
> > /* Snapshot the original file metadata in anticipation... */
> > ret = -xfrog_commitrange_prep(...);
> >
> > Hrm?
> >
> > --D
> >
> > > }
> > >
> > > return 0;
> > > @@ -240,7 +240,7 @@ xfrog_defragrange(
> > > legacy_fallback:
> > > ret = xfrog_ioc_swapext(file2_fd, xdf);
> > > if (ret)
> > > - return -errno;
> > > + return errno;
> > >
> > > return 0;
> > > }
> > > --
> > > 2.52.0
> > >
> > >
> >
>
next prev parent reply other threads:[~2026-01-21 17:42 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-19 14:26 [RFC PATCH 0/2] Improve user experience with xfs_fsr cem
2026-01-19 14:26 ` [RFC PATCH 1/2] libfrog: make xfrog_defragrange return a positive valued cem
2026-01-20 17:20 ` Darrick J. Wong
2026-01-21 8:57 ` Carlos Maiolino
2026-01-21 17:42 ` Darrick J. Wong [this message]
2026-01-19 14:26 ` [RFC PATCH 2/2] fsr: Always print error messages from xfrog_defragrange() cem
2026-01-20 17:23 ` Darrick J. Wong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260121174236.GD5945@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=aalbersh@redhat.com \
--cc=cem@kernel.org \
--cc=linux-xfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.