* mismatch between 2.6.19 and nfs-utils-1.0.10 nfsctl_arg structure???
@ 2007-02-20 18:05 Wouter Batelaan
2007-02-21 0:04 ` Neil Brown
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Wouter Batelaan @ 2007-02-20 18:05 UTC (permalink / raw)
To: linux-fsdevel@vger.kernel.org
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;
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: mismatch between 2.6.19 and nfs-utils-1.0.10 nfsctl_arg structure???
2007-02-20 18:05 mismatch between 2.6.19 and nfs-utils-1.0.10 nfsctl_arg structure??? Wouter Batelaan
@ 2007-02-21 0:04 ` Neil Brown
2007-02-21 15:46 ` Wouter Batelaan
2007-02-23 15:25 ` Wouter Batelaan
2 siblings, 0 replies; 5+ messages in thread
From: Neil Brown @ 2007-02-21 0:04 UTC (permalink / raw)
To: Wouter Batelaan; +Cc: linux-fsdevel@vger.kernel.org
On Tuesday February 20, wouter.batelaan@nxp.com wrote:
> 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
You will need patch f988443a84528bd30c2f474efa5e2c511959f19b [1]
or run
mount -t nfsd nfsd /proc/fs/nfs/nfsd
before starting mountd.
>
> 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.
The differences are not significant.
NeilBrown
[1] http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=f988443a84528bd30c2f474efa5e2c511959f19b
>
> 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@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: mismatch between 2.6.19 and nfs-utils-1.0.10 nfsctl_arg structure???
2007-02-20 18:05 mismatch between 2.6.19 and nfs-utils-1.0.10 nfsctl_arg structure??? Wouter Batelaan
2007-02-21 0:04 ` Neil Brown
@ 2007-02-21 15:46 ` Wouter Batelaan
2007-02-21 20:03 ` Neil Brown
2007-02-23 15:25 ` Wouter Batelaan
2 siblings, 1 reply; 5+ messages in thread
From: Wouter Batelaan @ 2007-02-21 15:46 UTC (permalink / raw)
To: linux-fsdevel@vger.kernel.org
linux-fsdevel-owner@vger.kernel.org wrote on 2007-02-21 00:04:40:
> You will need patch f988443a84528bd30c2f474efa5e2c511959f19b [1]
> or run
> mount -t nfsd nfsd /proc/fs/nfs/nfsd
> before starting mountd.
I applied the patch, and attempted the mount cmd above.
I assume you mistyped the directory path, because
/proc/fs/nfs/nfsd does not exist, so I used /proc/fs/nfsd
Unfortunately it has not made any difference.
> The differences are not significant.
Really? Surely if userspace uses this order
> > struct nfsctl_uidmap u_umap;
> > struct nfsctl_fhparm u_getfh;
> > struct nfsctl_fdparm u_getfd;
> > struct nfsctl_fsparm u_getfs;
but kernelspace expects this
> > struct nfsctl_fdparm u_getfd;
> > struct nfsctl_fsparm u_getfs;
then we have significant differences?
But if you're sure, then what else can be wrong?
My /etc/exports file contains (adding all 'unsafe' options I can find):
/p
(rw,sync,no_root_squash,no_subtree_check,crossmnt,insecure,nohide,insecure_locks,no_acl)
I tried with and without (empty) hosts.allow and hosts.deny files.
I'm running out of ideas :-(
Wouter Batelaan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: mismatch between 2.6.19 and nfs-utils-1.0.10 nfsctl_arg structure???
2007-02-21 15:46 ` Wouter Batelaan
@ 2007-02-21 20:03 ` Neil Brown
0 siblings, 0 replies; 5+ messages in thread
From: Neil Brown @ 2007-02-21 20:03 UTC (permalink / raw)
To: Wouter Batelaan; +Cc: linux-fsdevel@vger.kernel.org
On Wednesday February 21, wouter.batelaan@nxp.com wrote:
> linux-fsdevel-owner@vger.kernel.org wrote on 2007-02-21 00:04:40:
>
> > You will need patch f988443a84528bd30c2f474efa5e2c511959f19b [1]
> > or run
> > mount -t nfsd nfsd /proc/fs/nfs/nfsd
> > before starting mountd.
>
> I applied the patch, and attempted the mount cmd above.
> I assume you mistyped the directory path, because
> /proc/fs/nfs/nfsd does not exist, so I used /proc/fs/nfsd
Sorry, yes. You chose the right path.
>
> Unfortunately it has not made any difference.
>
> > The differences are not significant.
>
> Really? Surely if userspace uses this order
>
> > > struct nfsctl_uidmap u_umap;
> > > struct nfsctl_fhparm u_getfh;
> > > struct nfsctl_fdparm u_getfd;
> > > struct nfsctl_fsparm u_getfs;
>
> but kernelspace expects this
> > > struct nfsctl_fdparm u_getfd;
> > > struct nfsctl_fsparm u_getfs;
They are inside a 'union' Order is unimportant.
>
> then we have significant differences?
> But if you're sure, then what else can be wrong?
> My /etc/exports file contains (adding all 'unsafe' options I can find):
>
> /p
> (rw,sync,no_root_squash,no_subtree_check,crossmnt,insecure,nohide,insecure_locks,no_acl)
>
> I tried with and without (empty) hosts.allow and hosts.deny files.
>
> I'm running out of ideas :-(
Run
strace -o /tmp/strace -s 1000 -p `pidof mountd`
on the server, then attempt the mount on the client.
Then interrupt the 'strace' and send me "/tmp/trace".
NeilBrown
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: mismatch between 2.6.19 and nfs-utils-1.0.10 nfsctl_arg structure???
2007-02-20 18:05 mismatch between 2.6.19 and nfs-utils-1.0.10 nfsctl_arg structure??? Wouter Batelaan
2007-02-21 0:04 ` Neil Brown
2007-02-21 15:46 ` Wouter Batelaan
@ 2007-02-23 15:25 ` Wouter Batelaan
2 siblings, 0 replies; 5+ messages in thread
From: Wouter Batelaan @ 2007-02-23 15:25 UTC (permalink / raw)
To: linux-fsdevel@vger.kernel.org; +Cc: Neil Brown
To all who took an interest, and Neil Brown who gave help:
I've got the nfs server working now.
At the end there were several issues
(note that we're on dual-MIPS embedded system, starting off
with a very minimal system because of space constraints):
- /etc/services was not correct
- no network loopback interface
- trying to export part of an NFSROOT (imported) file system
- /etc/exports netmask problem
- having to run portmap on client machine as well
- missing fsid option in exports file
:-(I'm not 100% sure that ALL of the above were/are critical)
I temporarily also used the unfs3 server with success, but
eventually got the knfsd working.
Thanks for the help.
Kind Regards,
Wouter Batelaan
NXP Semiconductors.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2007-02-23 15:26 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-02-20 18:05 mismatch between 2.6.19 and nfs-utils-1.0.10 nfsctl_arg structure??? Wouter Batelaan
2007-02-21 0:04 ` Neil Brown
2007-02-21 15:46 ` Wouter Batelaan
2007-02-21 20:03 ` Neil Brown
2007-02-23 15:25 ` Wouter Batelaan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).