Subject: Re: NFS on little-endian platform - Microblaze

From: Michal Simek <[email-masked]>
Date: Wed, 16 Feb 2011 14:53:41 +0100

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?

Michal

-- 
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to [email-masked]
More majordomo info at  http://vger.kernel.org/majordomo-info.html