Pavel Filipensky wrote: > A fresh fix is available at: > > http://cr.opensolaris.org/~pavelf/6778894-v2 (yes, the previous > and fragile v2 workspace is lost) >
Two notes: 1) I am wondering if I should add this comment as a warning for future code changes which would go OTW and cause regression of "6675447 NFSv4 client hangs on shutdown if server is down beforehand." # we cannot us 'df -F nfs $mountp' to test if the given mountpoint has NFS on top of it # since df could trigger NFS over-the-wire request and cause regression of # "6675447 NFSv4 client hangs on shutdown if server is down beforehand." 2) The more I am looking to umountall(1M) the more I think that umountall(1M) should get a new syscall and all the work apart from parsing the command line options should be done in the kernel. Now, the kernel exports its state via a special file system in /etc/mnttab. Information from /etc/mnttab is parsed as a text in umountall(1M) - parsing is error prone - space can do lot of harm - see 6786256. After the information is parsed it is processed with low efficiency just to get a list of mount points to be unmounted. This list goes back to the kernel via umount(1). Current shell implementation is slow and hard to maintain. E.g. autofs does the unmounting in the kernel. There are two pending bugs which would profit from the new umounatll syscall: 6733798 manpage umountall(1M) - specify what is a local/remote filesystem + Interface stability 6786256 umountall(1M) handles incorrectly mounpoints with a space character in the path --Pavel