Knfsd 1.5.1 patch (was Re: knfsd 1.5.1 is out.)

Philippe Troin (phil@fifi.org)
26 Sep 1999 22:26:26 -0700


hjl@varesearch.com (H.J. Lu) writes:

> Hi,
>
> knfsd 1.5.1 has some big changes from 1.4.7. It seems to work for me.
> Please be careful about it. Please report any bugs.

Actually, I found two problems with this knfsd release.

1) Mountd crashes on some libc versions. This seems to be caused by
passing a fd_set with an unknown fd to svc_getreqset() in svc_run()
(mountd). A FD_CLR does the trick.

2) The code in the netlink part of the nfsd kernel modules to send
"punted" mount request through the netlink device passes the wrong
path. Instead of passing the complete fh path, it justs transmits
the mount point.

The punted mount request will then fail when trying to recreate
export entries for NFS exports which are a subset of a filesystem
(eg. /var/spool/mail is exported, belongs to filesystem /var,
mountd tries to recreate a /var export instead of the correct
/var/spool/mail export)...

The nfsd_netlink_callback structure with its devlen member makes me
think that the intented action was to pass the full path into
nfsd_netlink_callback->path with an additional
nfsd_netlink_callback->devlen indicating the size of the path
corresponding to the mount point (which is anyways currently
ignored).

This patch applies on top of knfsd 1.5.1. It patches mountd (one line)
and creates a new kernel patch nfsd-2.2.12-2.mountd.patch to apply on
top of nfsd-2.2.12-1.mountd.patch.

Both patches are one-liners.

Also, I used to be able to do exportfs -u host:/path to remove the
export entry to allow unmounting a file system, but this fails now (I
have to stop nfsd).
Didn't have time to look into it though.

Phil.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/