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