Hi,
I'm trying to get an nfs server setup on our embedded 2.6.19 kernel
system. I've chosen to use the kernel nfsd module,
and am using the latest nfs-utils.
It all starts running, but I get this:
mount -t nfs 127.0.0.1:/etc /tmp/try
mount: 127.0.0.1:/etc failed, reason given by server: Permission denied
mount: nfsmount failed: Bad file descriptor
mount: Mounting 127.0.0.1:/etc on /tmp/try failed: Bad file descriptor
Having added a bit of debugging /var/log/messages shows this:
daemon.warn mountd[545]: getfh.c:73: getfh_size (/etc)
daemon.warn mountd[545]: nfsctl.c:26: syscall nfsctl
daemon.warn mountd[545]: nfsctl.c:28: syscall nfsctl => -1
daemon.warn mountd[545]: getfh failed: Operation not permitted
Looking in detail at the syscall made, I see that the structure
definition for nfsctl_arg is different between kernel and nfs-utils.
Huh? What am I missing here? Any pointers appreciated.
Wouter.
Kernel 2.6.19.1: include/linux/nfsd/syscall.h:
struct nfsctl_arg {
int ca_version; /* safeguard */
union {
struct nfsctl_svc u_svc;
struct nfsctl_client u_client;
struct nfsctl_export u_export;
struct nfsctl_fdparm u_getfd;
struct nfsctl_fsparm u_getfs;
<snip>
void *u_ptr;
} u;
nfs-utils 1.0.10: support/include/nfs/nfs.h:
struct nfsctl_arg {
int ca_version; /* safeguard */
union {
struct nfsctl_svc u_svc;
struct nfsctl_client u_client;
struct nfsctl_export u_export;
struct nfsctl_uidmap u_umap;
struct nfsctl_fhparm u_getfh;
struct nfsctl_fdparm u_getfd;
struct nfsctl_fsparm u_getfs;
} u;
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html