[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1297865074.6596.10.camel@heimdal.trondhjem.org>
Date: Wed, 16 Feb 2011 09:04:34 -0500
From: Trond Myklebust <Trond.Myklebust@...app.com>
To: monstr@...str.eu
Cc: netdev@...r.kernel.org, David Miller <davem@...emloft.net>,
linux-nfs@...r.kernel.org
Subject: Re: NFS on little-endian platform - Microblaze
On Wed, 2011-02-16 at 14:53 +0100, Michal Simek wrote:
> Trond Myklebust wrote:
> > On Wed, 2011-02-16 at 14:16 +0100, Michal Simek wrote:
> >> Hi again,
> >>
> >> I forget to cc linux-nfs mailing list.
> >>
> >> Michal
> >>
> >> P.S.: Tested on kernels 2.6.38-rc4, 2.6.37 and 2.6.36
> >>
> >> Michal Simek wrote:
> >>> Hi All,
> >>>
> >>> I am trying to understand one problem which we have found.
> >>> The problem is that I can't on Microblaze little-endian platform
> >>> mount nfs without -o nolock options. (Log below)
> >>> Selecting tcp or udp has no effect.
> >>> I am using emaclite driver and there is no problem on big endian
> >>> microblaze.
> >>>
> >>> ping, telnet, http, ftp, iperf, netperf work well.
> >>>
> >>> That's why I have a question if there is any endian specific option for
> >>> NFS?
> >>>
> >>> Thanks,
> >>> Michal
> >>>
> >>> ~ # mount -t nfs 192.168.0.101:/tftpboot/nfs /mnt
> >>> svc: failed to register lockdv1 RPC service (errno 13).
> >>> lockd_up: makesock failed, error=-13
> >>> svc: failed to register lockdv1 RPC service (errno 13).
> >>> ~ # mount -t nfs -o nolock 192.168.0.101:/tftpboot/nfs /mnt
> >>> ~ # mount
> >>> rootfs on / type rootfs (rw)
> >>> proc on /proc type proc (rw,relatime)
> >>> none on /var type ramfs (rw,relatime)
> >>> none on /sys type sysfs (rw,relatime)
> >>> none on /etc/config type ramfs (rw,relatime)
> >>> none on /dev/pts type devpts (rw,relatime,mode=600)
> >>> 192.168.0.101:/tftpboot/nfs on /mnt type nfs
> >>> (rw,relatime,vers=3,rsize=32768,wsize=32768,namlen=255,hard,nolock,proto=udp,port=65535,timeo=7,retrans=3,sec=sys,local_lock=all,addr=192.168.0.101)
> >>>
> >>> ~ #
> >>> ~ # ps
> >>> PID USER TIME COMMAND
> >>> 1 root 0:02 init
> >>> 2 root 0:00 [kthreadd]
> >>> 3 root 0:00 [ksoftirqd/0]
> >>> 4 root 0:00 [kworker/0:0]
> >>> 5 root 0:00 [kworker/u:0]
> >>> 6 root 0:00 [khelper]
> >>> 7 root 0:00 [sync_supers]
> >>> 8 root 0:00 [bdi-default]
> >>> 9 root 0:00 [kblockd]
> >>> 10 root 0:00 [rpciod]
> >>> 11 root 0:00 [kworker/0:1]
> >>> 12 root 0:00 [kswapd0]
> >>> 13 root 0:00 [fsnotify_mark]
> >>> 14 root 0:00 [aio]
> >>> 15 root 0:00 [nfsiod]
> >>> 16 root 0:00 [kworker/u:1]
> >>> 58 root 0:00 udhcpc -R -n -p /var/run/udhcpc.eth0.pid -i eth0
> >>> 62 1 0:00 /bin/portmap
> >>> 64 root 0:00 /bin/inetd /etc/inetd.conf
> >>> 65 root 0:01 -sh
> >>> 66 root 0:00 /bin/syslogd -n
> >>> 67 root 0:00 /bin/flatfsd
> >>> 68 root 0:00 [kworker/0:2]
> >>> 91 root 0:00 ps
> >
> > Where is rpc.statd? Without it, the above behaviour is 100% expected.
>
> I see on BE that lockd is used but it is enabled on little endian too but hasn't started.
>
> Enabled options:
> CONFIG_NETWORK_FILESYSTEMS=y
> CONFIG_NFS_FS=y
> CONFIG_NFS_V3=y
> CONFIG_LOCKD=y
> CONFIG_LOCKD_V4=y
> CONFIG_NFS_COMMON=y
> CONFIG_SUNRPC=y
>
> On Be lockd is up.
> 69 root 0:00 /bin/flatfsd
> 71 root 0:00 [lockd]
> 73 root 0:00 ps
>
> I have to look why.
> How is it started?
Either rpc.bind or rpc.portmap and then rpc.statd need to be started
manually (in that order) before you may mount the NFS partition without
'-onolock'. The lockd daemon itself will be started by the kernel
whenever there is a need for it.
Please check your 'init' boot scripts to find out why they are not being
started as expected.
--
Trond Myklebust
Linux NFS client maintainer
NetApp
Trond.Myklebust@...app.com
www.netapp.com
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists