Date: Wed, 29 Nov 2006 16:24:07 -0800 From: Lee Damon <nomad@ssli-mail.ee.washington.edu> To: freebsd-bugs@freebsd.org Subject: NFS host export restrictions crash mountd - FBSD 6.1 & 6.2-PRE Message-ID: <200611300024.kAU0O73i005917@stefen.ee.washington.edu>
next in thread | raw e-mail | index | archive | help
I have several FBSD based file servers. This problem shows up in every version of 6.x that I've tried. All of the file servers export multiple (anywhere from 15 to 200+) file systems. Listing host or netgroup restrictions on more than a few lines in /etc/exports causes mountd to stop responding to requests (even showmount) and eventually die. It doesn't matter if the hosts are individually enumerated on each line, listed in a netgroup accessed via /etc/netgroup or listed in a netgroup obtained from NIS. It does not matter if the hosts are listed by shortname or FQDN. It also doesn't matter if the hosts are in DNS or /etc/hosts. I have a test box with 261 filesystems exported. I then add a netgroup restriction (currently ~15 hosts, I've seen this problem with only 8 listed) to the very last line and nothing goes wrong. I add it to one more and then I run mountd -r -d. I see a bunch of "got host" lines then: mountd: getting mount list mountd: here we go implying it is working. I can add it to several lines and things work. Eventually however, a showmount query from another host says: : || nomad@crow ~ [66] ; showmount -e ente rpc mount export: RPC: Can't decode result After adding the restriction to a few more exports lines "mountd -d" gets part way through enumerating the hosts then just stops, but the daemon is still running (not responding to showmount requests, mind you). Adding yet more of them eventually leads to a "Broken pipe" being spat out as the daemon exist (no other information presented). I should note the daemon exists when I do a showmount -e host at it, not when it is reloaded. After this exit I restart the daemon (-r -d or just -d) it prints the "here we go" message and sits waiting for the first query. As soon as I do a showmount it exits with the same broken pipe message. The failure happens with considerably fewer restricted exports if I have 200 hosts in the export restriction so it looks like it's smashing a buffer somewhere. nomad
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200611300024.kAU0O73i005917>