kern/56461: FreeBSD client rpc.lockd incompatible with Linux server rpc.lockd

Bruce M Simpson bms at spc.org
Wed Jun 23 04:38:55 GMT 2004


On Fri, Jun 18, 2004 at 05:08:40PM -0400, Barney Wolff wrote:
> Pardon an ignorant question, but what happens to unfortunate people who
> have to talk to both Linux and non-quirky servers at the same time?  Is
> there a way to detect what flavor of server you're talking to and adjust
> accordingly?  That would be far better than a sysctl.

I've been researching this. This is actually far, far more involved.

The problem is that rpc.lockd sits in userland, and has no easy idea of
getting NFS-specific mount options back from the kernel for a current
NFS client mountpoint.

The reason for this is to do with the way the old mount(2) API works.
nmount(2) helps to address some of the problem, by providing for an
iovec to be passed in instead; vfs_getopt() is used by nmount() clients
to obtain the options passed in to userland for the mount.

None of the nfs code uses nmount() yet. Also, there is no system call
yet which could be used to retrieve the options with which a filesystem
has been mounted, but this is still a step in the right direction.

So the short answer is, we can't do a mount option right now, but a
sysctl is easily implemented.

In any event, the bug is now fixed in the Linux kernel, those unfortunate
souls out there who have the luck to work with Linux in this way will
have to wait for the userland binaries to catch up in all the distro.

Regards,
BMS


More information about the freebsd-net mailing list