Re: Change "hostname" to "hostport" in text-based mountd downcall Re: BUG in exports(5), no example for refer= Re: Examples for refer= in /etc/exports?

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

 



On Mon, 13 Nov 2023 at 16:48, Steve Dickson <steved@xxxxxxxxxx> wrote:
>
> Hello Ced,
>
> On 11/12/23 8:01 PM, Cedric Blancher wrote:
> > On Fri, 10 Nov 2023 at 20:17, Chuck Lever III <chuck.lever@xxxxxxxxxx> wrote:
> >>
> >>
> >>
> >>> On Nov 10, 2023, at 3:30 AM, Martin Wege <martin.l.wege@xxxxxxxxx> wrote:
> >>>
> >>> On Fri, Nov 10, 2023 at 3:20 AM Chuck Lever III <chuck.lever@xxxxxxxxxx> wrote:
> >>>>
> >>>>> On Nov 9, 2023, at 7:47 PM, Cedric Blancher <cedric.blancher@xxxxxxxxx> wrote:
> >>>>>
> >>>>> On Fri, 10 Nov 2023 at 01:37, Chuck Lever III <chuck.lever@xxxxxxxxxx> wrote:
> >>>>>>
> >>>>>>> On Nov 9, 2023, at 7:05 PM, Cedric Blancher <cedric.blancher@xxxxxxxxx> wrote:
> >>>>>>>
> >>>>>>> On Thu, 2 Nov 2023 at 10:51, Cedric Blancher <cedric.blancher@xxxxxxxxx> wrote:
> >>>>>>>>
> >>>>>>>> Good morning!
> >>>>>>>>
> >>>>>>>> Does anyone have examples of how to use the refer= option in /etc/exports?
> >>>>>>>
> >>>>>>> Short answer:
> >>>>>>> To redirect an NFS mount from local machine /ref/baguette to
> >>>>>>> /export/home/baguette on host 134.49.22.111 add this to Linux
> >>>>>>> /etc/exports:
> >>>>>>>
> >>>>>>> /ref *(no_root_squash,refer=/export/home@134.49.22.111)
> >>>>>>>
> >>>>>>> This is basically an exports(5) manpage bug, which does not provide
> >>>>>>> ANY examples.
> >>>>>>
> >>>>>> That's because setting up a referral this way is deprecated.
> >>>>>
> >>>>> Why did you do that?
> >>>>
> >>>> The nfsref command on Linux matches the same command on Solaris.
> >>>>
> >>>> nfsref was added years ago to manage junctions, as part of FedFS.
> >>>> The "refer=" export option can't do that...
> >>>
> >>> Where in the kernel is the code for the refer= option? I'd like to get
> >>> some of my students to contribute support for custom NFS ports.
> >>
> >> IIRC supporting ports is one thing we can't do right now because
> >> the mountd downcall interface is text-based, and its parser can
> >> barely handle "refer=", let alone specifying a port.
> >
> > I had a chat this weekend with Roland Mainz (who works on the NFSv4
> > driver for Windows these days):
> > ...
> > That is the old mistake to think that "hostname" and "port" are
> > separate entities. We had this kind of debate at SUN/MPK17 several
> > times. Host and TCP port are the "location of the server", and they
> > are inseparable.
> > ...
> > The RFCs even help out with that one, for example RFC1738 (URL RFC)
> > defines a "hostport" in Page 18.
> > And that's what I actually did for ms-nfs41-client: NIH&Institute
> > Pasteur needed custom TCP server ports, and I implemented this by
> > changing the communication of nfs41_driver.sys (kernel) to userland
> > NFSv4 client daemon (nfsd_debug.exe) from "hostname" to "hostport",
> > and added the port number in the UNC, so Windows always uses (and
> > remembers!) the port number together with the hostname.
> > Or easier: I changed "hostname" to "hostport" to embed the port number
> > in the up-/downcalls for mount requests - and that is what the Linux
> > people can use too.
> > ...
> >
> >> Our plan is to replace the mountd downcall with a netlink protocol
> >> that Lorenzo is working on, and then it would be very straightforward
> >> to add a port to each target location. But getting to a mature
> >> netlink implementation will take a while.
> >
> > Yeah, instead of waiting for NetLink you could implement Roland's
> > suggestion, and change "hostname" to "hostport" in your test-based
> > mount protocol, and technically everywhere else, like /proc/mounts and
> > the /sbin/mount output.
> > So instead of:
> > mount -t nfs -o port=4444 10.10.0.10:/backups /var/backups
> > you could use
> > mount -t nfs 10.10.0.10@4444:/backups /var/backups
> >
> > The same applies to refer= - just change from "hostname" to
> > "hostport", and the text-based mountd downcall can stay the same (e.g.
> > so "foobarhost" changes to "foobarhost@444" in the mountd download.)
> My suggestion is you and Roland attend the next Bakeathon, this
> spring, which will have remote access for testing and
> talk about this on one of @2pm talks.

Where is the bakeathon hosted? San Francisco?

Ced
-- 
Cedric Blancher <cedric.blancher@xxxxxxxxx>
[https://plus.google.com/u/0/+CedricBlancher/]
Institute Pasteur




[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