Hi Andrew- On Apr 27, 2009, at 8:43 PM, Andrew Savchenko wrote:
Hello, On Monday 27 April 2009, Chuck Lever wrote:On Apr 27, 2009, at 11:03 AM, Andrew Savchenko wrote:Hello, I have ipv6 support as a module (it may be needed in the recent future), but currently I want ipv6 to be disabled on my system, so I blacklisted this module. And here problems begin... NFSv3 works flawlessly: # mount 172.19.0.1:/home/ftp /mnt/nfs/ but NFSv4 fails: # mount -t nfs4 172.19.0.1:/ /mnt/nfs/ mount.nfs4: Cannot allocate memory After modprobe ipv6 it works: # mount -t nfs4 172.19.0.1:/ /mnt/nfs/ I recompiled nfs-utils without ipv6 support, but this doesn't help. Here is my /etc/exports: /home/ftp 172.16.0.0/12 (ro,async,crossmnt,no_subtree_check,fsid=0,all_squash) \ 127.0.0.1/32 (ro,async,crossmnt,no_subtree_check,fsid=0,all_squash) I use nfs-utils-1.1.5, I tested this on both vanilla linux kernels 2.6.28.7 and 2.6.28.9.Have you tried this with 2.6.29?I just tried with vanilla 2.6.29.1. Things became even worse. Now not only NFSv4 fails to mount as usual, but NFSv3 fails too: # mount 172.19.0.1:/home/ftp /mnt/orionis mount.nfs: Address family not supported by protocol And following error appears in kernel log multiple times: RPC: failed to contact local rpcbind server (errno 5). I attached strace -f for both mount attempts. The problem is in mount() syscall in both cases, thus somewhere inside the kernel... With ipv6 module loaded all works fine.You can also try building 2.6.28 with CONFIG_SUNRPC_REGISTER_V4 disabled.With this option disabled errno 5 (see above) disappeared from logs, but mount fails with the same errors. Yet again, with ipv6 module loaded it works ok.
Reproduced here. A patch is attached. (I usually send patches inline, but to test 2.6.29-stable I'm working outside of git, using old-fashioned tools like "diff").
-- Chuck Lever chuck[dot]lever[at]oracle[dot]com
Attachment:
ipv6-nfs4-callback-2.6.29.diff
Description: Binary data