Re: [Bug] NFSv4 fails to work without ipv6 kernel module

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

Right, this isn't an nfs-utils problem, it's an issue in the kernel (so the strace isn't terribly informative). 2.6.29 is supposed to have addressed this problem, but maybe you are hitting a new way that not having ipv6.ko loaded is buggering us.

If you're building these kernels yourself, why not disable CONFIG_IPV6?

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.

I can't reproduce here on 2.6.30-rc2, so it may be just an issue with 2.6.29. You can enable debug printks to see what the kernel thinks is going on. Try this as root:

  # rpcdebug -m nfs -s mount
  # mount ....
  # rpcdebug -m nfs -c

Then look in your kernel log. "rpcdebug -vh" will list the full set of flags you can enable.

Since rpcbind also seems to be an issue, you can try this also:

  # rpcdebug -m rpc -s bind
  # mount ....
  # rpcdebug -m rpc -c

What type of server are you attempting to mount?  Linux?  Solaris?

--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux