Hi, I need a code review for:
6777298 umountall(1M) -z ... limit unmounting action(s) to the current zone 6502014 NFS mounts in non-global zones are unmounted if NFS is restarted in the global zone 6512906 Autofs mounts in non-global zones are unmounted when autofs is restarted in the global zone 6777323 smb mounts in non-global zones are unmounted when smb/client is restarted in the global zone NOTE: 6777298 6777323 were created today and they have not been propagated to bugs.opensolaris.org yet. The first CR in the list introduces a new option -z to umountall(1M). The remaining CRs utilize the new option int the stop methods for smf services - nfs/client, smb/client and autofs. Since there is a change to a public interface of umountall(1M), I plan to create a fast-track PSARC case. Any experience how are PSARC done in OpenSolaris? Especially can anyone recommend a sponsor? Thanks, Pavel =========================================== Below is the 'Technical Description' from my onepager draft: 4. Technical Description: An additional command line option -z is proposed for umountall(1M). This option, when used, will limit the unmounting action(s) only to the current zone. The use of -z option in non-global zones will have no effect since non-global zones already do not attempt to unmount mounts coming from different zones. (This was introduced as a part of the fix for "5037418 umount: permission denied seen upon zone reboot".) So the -z option will be effective when used in the global zone and it will prevent umountall(1M) from unmounting mounts coming from non-global zones. Primary consumers of the new -z option will be stop methods of various smf services. Let's take the nfs service as an example. Nfs mounts in non-global zones are unmounted if smf service svc:/network/nfs/client:default is restarted in the global zone. This is a bug as the nfs services in different zones should be independent. The bug is logged as "6502014 NFS mounts in non-global zones are unmounted if NFS is restarted in the global zone" This check shows that there are some more smf service that are not zones independent: $ grep umountall /lib/svc/method/* /lib/svc/method/nfs-client: /sbin/umountall -F cachefs /lib/svc/method/nfs-client: /sbin/umountall -F nfs /lib/svc/method/smb-client: /sbin/umountall -F smbfs /lib/svc/method/svc-autofs: /sbin/umountall -F autofs Effort was done to check that the use of the -z option is consistent with other commands. Many commands use -z together with zone ID: ipcrm [-z zone] ipcs [-z zone] pkill [-z zoneidlist] pgrep [-z zoneidlist] ps [-z zonelist] prstat [-z zoneidlist] No command is currently using the plain -z option. However, older version of ppriv(1) was using [-z]: ppriv -z [-v] -z Lists all privileges available in the current zone stdout. There are no side effects of using -z option on other suboptions to umountall(1). Using -z never changes the behaviour of other suboptions, -z only only limits their scope. 4.2. Bug/RFE Number(s): 6502014 NFS mounts in non-global zones are unmounted if NFS is restarted in the global zone 4.5. Interfaces: New option -z for umountall(1M). 4.6. Doc Impact: This will be added to the umountall(1M) manpage: SYNOPSIS umountall [-k] [-s] [-F FSType] [-l | -r] [-z] [-n] umountall [-k] [-s] [-h host] [-z] [-n] ... -z Limit the action(s) only to the mounts coming from the current zone.