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

Reply via email to