#ident "@(#)vold_transition.txt 1.3 06/06/21 SMI" 1. Vold removal 2. /{cdrom,rmdisk,floppy} mount points 3. /vol devices 4. Commands 5. libvolmgt 6. CDE 7. Customizing volume management 8. ident_ modules 9. Documentation ====================================================================== 1. Vold removal Vold EOF has been announced in S10 Update 2, PSARC/2005/672. This project requests permission to remove vold from Nevada, in particular: volfs(7FS) and /vol namespace vold(1M) vold.conf(4) svc:/system/filesystem/volfs /etc/init.d/volmgt rmmount.conf(4) /usr/lib/rmmount/*.so.1 - rmmount actions /usr/lib/fs/*/ident_*.so.1 - rmmount plugins volrmmount(1) volcancel(1) volmissing(1) 2. /{cdrom,rmdisk,floppy} mount points In our opinion, the single important change that will concern most users is moving mount points under /media, who are used to look for CDROMs /cdrom, USB disks under /rmdisk, etc. We propose to create compatibility symlinks to /media directories. 3. /vol devices /vol goes away, the /dev namespace should now be used instead of /vol. Read access to removable and hotpluggable devices will be provided via logindevperm. (see proposal.txt, 2.3). 4. Commands rmmount(1) will be used in place of volrmmount(1). volcancel(1) and volmissing(1) are no longer needed and unlikely to be missed by the users. eject(1), rmformat(1), volcheck(1) will continue to work as expected. See proposal.txt chapter 5 for more details. 5. libvolmgt libvolmgt library will be preserved. The library provides volume management functions defined in /usr/include/volmgt.h, classified Stable. Most library functions only make sense when vold volmgt_running() returns true. After vold removal volmgt_running() will always return false. As was shown in PSARC/2005/672, most applications are designed to work with and without vold. During transition period they can be used as if vold is disabled. In the long term they should be ported to HAL. The library has already been marked Obsolete in PSARC/2005/672. No new applications should use the libvolmgt. 6. CDE The Contracted Private interface between vold and CDE filemgr is defined in PSARC/1993/469 and summarized below. We propose to emulate this interface in rmvolmgr (see proposal.txt, 4.2). Thus, CDE users will not be impacted by vold removal. /etc/rmmount.conf contains actions: action cdrom action_filemgr.so action floppy action_filemgr.so action rmdisk action_filemgr.so action_filemgr.so creates one file per device in /tmp/.removable directory, named for the symbolic device name, e.g. "floppy0" or "cdrom0". These files contain the information about where the media from that device can be found. There are two ascii strings, separated by whitespace. The first is the path where the media is mounted, the second is the path to the raw device. CDE filemgr creates a named pipe /tmp/.removable/notify#, where # is a unique number, and poll(2)s it. When action_filemgr.so creates or removes a file in /tmp/.removable, it opens and writes a byte to each notify# file in that directory. rmmount.conf and action_filemgr.so will be removed, the functionality will be provided by rmvolmgr instead. 7. Customizing volume management For most customizations that were available in vold.conf and rmmount.conf, users will need to either use desktop volume manager preferences (e.g. based on gconf) or modify .fdi files. HAL is still evolving and eventually all customizations should be moved to gconf. For rmmount.conf actions, users will need to use either desktop volume manager actions or create HAL callouts. With a proper rmmount.conf file, "actions" could be run as root on behalf of ordinary users. This is now done by installing callout executables in /usr/lib/hal. To manage volume management services, users will need to use SMF commands and desktop tunables. 8. ident_ modules libfstyp(3LIB) should be used instead, see PSARC/2006/337 fstyp(1M) extensions. 9. Documentation All Solaris documentation that mentions vold, such as the man pages and the System Administration Guide will be modified to describe the new facility.