Kernel NFSD Tools patches (for glibc)

Christoph Lameter (chris@waterf.org)
Sun, 21 Dec 1997 12:09:02 -0800 (PST)


I tried to update my Debian knfs package using some patches I saw on this
list. The results are available from ftp://debs.fuller.edu/debs/knfs*

The patches for glibc are in knfs_0.4.21-3.diff.gz.

The binaries in knfs_0.4.21-3.deb are usuable for other distributions.
Just do:

ar x knfs_0.4.21-3_i386.deb

(ar is an omnipresent tool coming with all linux dists)
and install the resulting data.tar.gz like a Slackware .tgz tarball.

The current release has a big problem: There is some bug in rpc.mountd
somehwere that results in not being able to mount anything. The log
entries generated by mountd are the following:

Dec 21 11:26:53 cyrix200 mountd[1492]: getfh failed: Operation not
permitted
Dec 21 11:40:38 cyrix200 mountd[4749]: authenticated mount request from
localhos
t
Dec 21 11:40:38 cyrix200 mountd[4749]: getfh failed: Operation not
permitted
Dec 21 11:47:55 cyrix200 mountd[4749]: authenticated mount request from
localhos
t
Dec 21 11:47:55 cyrix200 mountd[4749]: getfh failed: Operation not
permitted

The offending part is in utils/mountd/mountd.c:

struct knfs_fh *fh;

if (!exp->m_exported)
export_export(exp);
if (!exp->m_xtabent)
xtab_append(exp);

fh = getfh((struct sockaddr *) sin, stb.st_dev,
stb.st_ino);
if (!fh) {
xlog(L_WARNING, "getfh failed: %s",
strerror(errno));
res->fhs_status = NFSERR_ACCES;
} else {
memcpy(&res->fhstatus_u.fhs_fhandle, fh, 32);
res->fhs_status = NFS_OK;
mountlist_add(exp);
}
}

I will prepare another source release numbering it 0.5.x of the knfs tools
if I can get the bugs worked out and if there is no one else who is
interested in kernel nfs. I dont have much expertise on the issue
though but I can bring things together.