nfs umount soft hang

Andriy Gapon avg at icyb.net.ua
Mon Feb 9 05:21:59 PST 2009


on 05/02/2009 16:34 Andriy Gapon said the following:
> I have an NFS server and NFS client separated by a firewall. Both
> servers are FreeBSD 7.1.
> 
> Server configuration:
> nfs_server_enable="YES"
> nfs_server_flags="-t -n 4"
> rpcbind_enable="YES"
> mountd_flags="-r -p 737"
> mountd_enable="YES"
> 
> The firewall allows tcp and udp to port 111, but only tcp to ports 2049
> and 737 (configured for mountd, see above).
> 
> On the client I use e.g. the following command for mounting:
> mount -t nfs -o nfsv3,tcp,intr,rdirplus,-r=32768,-w=32768
> XXXX:/export/usr/obj /usr/obj
> 
> Mounting and subsequent fs operations work flawlessly.
> 
> When I unmount umount command hangs but can be interrupted with ^C.
> Everything seems to be clean after that - the filesystem is unmounted,
> there are no post-effects on both client and server.

I think this is it:
377         /*
378          * Report to mountd-server which nfsname
379          * has been unmounted.
380          */
381         if (ai != NULL && !(fflag & MNT_FORCE) && do_rpc) {
382                 clp = clnt_create(hostp, RPCPROG_MNT, RPCMNT_VER1,
"udp");

I wonder if umount could be smarter as to whether use udp or tcp here.

-- 
Andriy Gapon


More information about the freebsd-stable mailing list