K 10 svn:author V 7 asomers K 8 svn:date V 27 2016-04-27T15:38:56.914184Z K 7 svn:log V 1133 Make zfsd(8) listen to GEOM::physpath events zfsd should use a newly arrived device for autoreplace by physical path operations, even if that device's physical path isn't known when zfsd first becomes aware of the device. Background: When a new device arrives, devfs emits a CREATE event to devctl(4). In parallel, enc(4) assigns a physical path to it, then geom(4) emits a GEOM::physpath event. It's possible that zfsd will see the CREATE event before the physical path has been assigned. Previously, we would ignore such a device. Now, zfsd(8) will listen to the GEOM::physpath event so it can use the device for autoreplace-by-physical-path actions. lib/libdevctl/event.cc: lib/libdevctl/event.h: lib/libdevctl/tests/libdevctl_unittest.cc Provide GeomEvent objects. Move DevfsEvent::{Devname,IsDiskDev,PhysicalPath,DevPath} into the base Event class. Only DevName needs to be specialized in the derived classes. cddl/sbin/zfsd/zfsd.cc cddl/sbin/zfsd/zfsd_event.cc cddl/sbin/zfsd/zfsd_event.h Listen for GEOM::physpath events. When one arrives, ReEvaluate any matching caseFiles. Sponsored by: Spectra Logic Corp END