If you provide a path to df it will use realpath() -> resolvepath(2) : $ truss df -n /WWW resolvepath("/WWW", "/WWW", 1024) = 4
If we avoid the path, resolvepath(2) is not used: # df -F nfs -n /home/pf199842 : nfs /WWW : nfs Fast dtrace check shows that it will not reach nfs kernel module, so it will not go OTW: # dtrace -Fn':nfs::/pid==$target/{}' -c 'df -F nfs -n' dtrace: description ':nfs::' matched 2393 probes /home/pf199842 : nfs /WWW : nfs dtrace: pid 29299 has exited But the point was to specify the path (mountpoint) to df, without it we do not get any advantage from using df. So we must parse the /etc/mnttab anyway. --Pavel Frank Batschulat (Home) wrote: > On Tue, 16 Dec 2008 20:56:36 +0100, Pavel Filipensky <Pavel.Filipensky at > sun.com> wrote: > > >> Unfortunately df -n calls resolvepath(2) and this will go OTW. >> I have only tested that the fix avoids unmounting of NFS when >> -l is used, but I has not realized that it will hang if server is down. >> > > Pavel, I fail to see a way that df.c calls resolvepath(2) on anything that > is slightly NFS releated (sure it'll use it on startup for the > shared libraries...) > > --- > frankB > >