Re: NFSv4 referrals broken when not enabling junction support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 12/2/24 3:02 PM, Chuck Lever III wrote:


On Dec 2, 2024, at 2:57 PM, Steve Dickson <steved@xxxxxxxxxx> 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.

Disabling junction support is not supposed to disable referrals.
Referrals worked long before junction support was added, and
stopped working in this configuration with the commit that
Salvatore bisected to.
Got it... thanks!

steved.


steved.

Context:
- https://bugs.debian.org/1035908
- https://bugs.debian.org/1083098
Regards,
Salvatore


--
Chuck Lever







[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux