From: Salvatore Bonaccorso <carnil@debian.org>
To: Steve Dickson <steved@redhat.com>
Cc: Sam Hartman <hartmans@debian.org>, Anton Lundin <glance@ac2.se>,
linux-nfs@vger.kernel.org,
Chuck Lever III <chuck.lever@oracle.com>
Subject: Re: NFSv4 referrals broken when not enabling junction support
Date: Mon, 2 Dec 2024 21:22:17 +0100 [thread overview]
Message-ID: <Z04W-UXWVzY9vshK@eldamar.lan> (raw)
In-Reply-To: <328fdce3-a66b-4254-a178-389caf75a685@redhat.com>
Hi Steve,
On Mon, Dec 02, 2024 at 02:57:54PM -0500, Steve Dickson wrote:
>
>
> On 12/2/24 2:46 PM, Salvatore Bonaccorso wrote:
> > Hi Steve,
> >
> > On Mon, Dec 02, 2024 at 01:26:46PM -0500, Steve Dickson wrote:
> > >
> > >
> > > On 11/25/24 11:57 PM, Salvatore Bonaccorso wrote:
> > > > Hi Steve,
> > > >
> > > > On Sat, Oct 26, 2024 at 09:04:01AM -0400, Steve Dickson wrote:
> > > > >
> > > > >
> > > > > On 10/25/24 4:14 PM, Salvatore Bonaccorso wrote:
> > > > > > Hi Steve,
> > > > > >
> > > > > > On Sun, Oct 20, 2024 at 04:37:10PM +0200, Salvatore Bonaccorso wrote:
> > > > > > > Hi Steve,
> > > > > > >
> > > > > > > On Tue, Oct 08, 2024 at 06:12:58AM -0400, Steve Dickson wrote:
> > > > > > > >
> > > > > > > >
> > > > > > > > On 10/3/24 12:58 PM, Salvatore Bonaccorso wrote:
> > > > > > > > > Hi Steve, hi linux-nfs people,
> > > > > > > > >
> > > > > > > > > it got reported twice in Debian that NFSv4 referrals are broken when
> > > > > > > > > junction support is disabled. The two reports are at:
> > > > > > > > >
> > > > > > > > > https://bugs.debian.org/1035908
> > > > > > > > > https://bugs.debian.org/1083098
> > > > > > > > >
> > > > > > > > > While arguably having junction support seems to be the preferred
> > > > > > > > > option, the bug (or maybe unintended behaviour) arises when junction
> > > > > > > > > support is not enabled (this for instance is the case in the Debian
> > > > > > > > > stable/bookworm version, as we cannot simply do such changes in a
> > > > > > > > > stable release; note later relases will have it enabled).
> > > > > > > > >
> > > > > > > > > The "breakage" seems to be introduced with 15dc0bead10d ("exportd:
> > > > > > > > > Moved cache upcalls routines into libexport.a"), so
> > > > > > > > > nfs-utils-2-5-3-rc6 as this will mask behind the #ifdef
> > > > > > > > > HAVE_JUNCTION_SUPPORT's code which seems needed to support the refer=
> > > > > > > > > in /etc/exports.
> > > > > > > > >
> > > > > > > > > I had a quick conversation with Cuck offliste about this, and I can
> > > > > > > > > hopefully state with his word, that yes, while nfsref is the direction
> > > > > > > > > we want to go, we do not want to actually disable refer= in
> > > > > > > > > /etc/exports.
> > > > > > > > +1
> > > > > > > >
> > > > > > > > >
> > > > > > > > > Steve, what do you think? I'm not sure on the best patch for this,
> > > > > > > > > maybe reverting the parts masking behind #ifdef HAVE_JUNCTION_SUPPORT
> > > > > > > > > which are touched in 15dc0bead10d would be enough?
> > > > > > > > Yeah there is a lot of change with 15dc0bead10d
> > > > > > > >
> > > > > > > > Let me look into this... At the up coming Bake-a-ton [1]
> > > > > > >
> > > > > > > Thanks a lot for that, looking forward then to a fix which we might
> > > > > > > backport in Debian to the older version as well.
> > > > > >
> > > > > > Hope the Bake-a-ton was productive :)
> > > > > >
> > > > > > Did you had a chance to look at this issue beeing there?
> > > > > Yes I did... and we did talk about the problem.... still looking into it.
> > > >
> > > > Reviewing the open bugs in Debian I remembered of this one. If you
> > > > have already a POC implementation/bugfix available, would it help if I
> > > > prod at least the two reporters in Debian to test the changes?
> > > >
> > > > Thanks a lot for your work, it is really appreciated!
> > > I was not able to reproduce this at the Bakeathon
> > > with the latest nfs-utils... and today I took another
> > > look today...
> > >
> > > Would mind showing me the step that cause the error
> > > and what is the error?
> >
> > Let me ask the two reporters in Debian, Cc'ed.
> >
> > Sam, Anton can you provide here how to reproduce the issue with
> > nfs-utils which you reported?
> >
> Please note setting "enable-junction=no" does disable
> the referral code. aka in dump_to_cache()
>
> #ifdef HAVE_JUNCTION_SUPPORT
> write_fsloc(&bp, &blen, exp);
> #endif
>
> So unless I'm not understanding something (which is very possible :-) )
> disabling junctions also disables referrals.
yes, and this is actually the problem reported here. If you have
distribution which cannot enable (yet) junction support, then referral
support regressed after 15dc0bead10d ("exportd: Moved cache upcalls
routines into libexport.a").
It was argued that, while is is clear that enabling junction support
is the preferred option (and we have done so in later versions in
Debian), when this is not enabled, and after nfs-utils-2-5-3-rc6, this
regressed in the referrals support.
My understanding is that Chuck in principle agrees that this is to be
considered a bug.
Hope this helps?
Regards,
Salvatore
next prev parent reply other threads:[~2024-12-02 20:22 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-03 16:58 NFSv4 referrals broken when not enabling junction support Salvatore Bonaccorso
2024-10-08 10:12 ` Steve Dickson
2024-10-20 14:37 ` Salvatore Bonaccorso
2024-10-25 20:14 ` Salvatore Bonaccorso
2024-10-26 13:04 ` Steve Dickson
2024-10-26 15:56 ` Salvatore Bonaccorso
2024-11-26 4:57 ` Salvatore Bonaccorso
2024-12-02 18:26 ` Steve Dickson
2024-12-02 19:46 ` Salvatore Bonaccorso
2024-12-02 19:57 ` Steve Dickson
2024-12-02 20:02 ` Chuck Lever III
2024-12-03 12:04 ` Steve Dickson
2024-12-02 20:22 ` Salvatore Bonaccorso [this message]
2024-12-02 20:30 ` [nfs-utils PATCH] exports: Fix referrals when --enable-junction=no Scott Mayhew
2024-12-02 21:25 ` Roland Mainz
2024-12-02 21:41 ` Chuck Lever
2024-12-03 12:11 ` Steve Dickson
2024-12-03 3:19 ` Steve Dickson
2024-12-03 12:43 ` Scott Mayhew
2024-12-03 14:25 ` Steve Dickson
2024-12-03 14:28 ` Chuck Lever III
2024-12-03 16:02 ` Steve Dickson
2024-12-03 16:12 ` Chuck Lever III
2024-12-09 10:26 ` Steve Dickson
2024-12-02 20:00 ` NFSv4 referrals broken when not enabling junction support Chuck Lever III
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=Z04W-UXWVzY9vshK@eldamar.lan \
--to=carnil@debian.org \
--cc=chuck.lever@oracle.com \
--cc=glance@ac2.se \
--cc=hartmans@debian.org \
--cc=linux-nfs@vger.kernel.org \
--cc=steved@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox