On receiving an event from the kernel, I think the daemon should: compare the current status with the previous status to see what changed; add newly-failed paths to its list of failed paths that need retesting; immediately test newly-failed paths and schedule further regular testing for them; if the number of active paths in the currently active PG is getting low, immediately retest other failed paths in that PG Periodically the daemon should wake itself up to test the failed paths it knows about. It should also test active paths to preempt problems: if an inactive path has failed, the admin needs to know the system is running in a degraded state. The frequency of the testing should be configurable in severals ways - it could depend on the size of the system, the load, the time since each path was last tested, time since last successful test of the path, type of hardware (what's the perfomance impact of a test? e.g. trespass issues), structure containing the path (more important to test failed paths in the current PG than other PGs; if you're using round-robin and you know there's always I/O happening to the device, it's more important to test active paths in other PGs) etc. Alasdair -- agk@xxxxxxxxxx