> As you might know, one feature we added to dlmgmtd (the datalink management > daemon, started by the datalink-management service) is to recover from a > fatal failure (e.g., when dlmgmtd is accidentally killed or it core dumps). > We achieve this by keeping all the "active" link configuration in > /var/run/datalink.conf, so that when dlmgmtd recovers from a fatal error, it > can rebuild the link mappings based on the information stored in > /etc/dladm/datalink.conf and /var/run/datalink.conf. > > But this approach does not really work as we expected. It is because > /var/run is only mounted in the filesystem/minimal service, which is started > a lot behind the datalink-management service. > > Today the only tmpfs mounted early enough (by the kernel) is > /var/svc/volatile, but it seems to be SMF specific. > > By talking with several engineers, we agreed the long term solution is that > kernel mounts a tmpfs that can be used more generally, say /etc/volatile. I > also investigated the possibility of removing /var/run and > /etc/svc/volatile, but it seems that: > > - /var/run is proposed for compatibilities with linux. Because of this, we > should preserve /var/run. > > - /etc/svc/volatile/repository_door is widely used in various package > scripts to check whether a system supports SMF or not, and this is usually > used for system upgrade. Those package scripts include packages outside ON. > (I am not sure but I suspect that some third party softwares use the same > technique). Because of this, it seems that /etc/svc/volatile should also be > preserved. > > because of the above reasons, I tends to propose: > > a. the kernel mounts a tmpfs /etc/volatile instead of /etc/svc/volatile > b. both /etc/svc/volatile and /var/run will be preserved and will be symbol > linked to /etc/volatile. > > Please let me know what you think of this idea. > > Thanks > - Cathy
Just use etc/svc/volatile. There's no need for us to have to do a bunch of extra work to reinvent that mechanism. dlmgmt is a service. If it runs before the other stuff is mounted, which is a very small number of services, then it should go ahead and use that directory. etc/svc/volatile is already used for early-boot things such as log files. -Mike -- Mike Shapiro, Solaris Kernel Development. blogs.sun.com/mws/