monitor_testcase_12: Use push_recovery_fn

Convert testcase to use push_recovery_fn.

Signed-off-by: Hannes Reinecke <hare@suse.de>
md_monitor: implement 'md->dev_name'

We should be storing the device name for the MD array in a separate
variable; this removes the dependency on the udev device.

Signed-off-by: Hannes Reinecke <hare@suse.de>
md_monitor: correct locking on remove device

When removing a device we need to lock the device list from
the enclosing array. This wasn't done properly in all cases.

Found by code inspection.

Signed-off-by: Hannes Reinecke <hare@suse.de>
monitor_testcase_5: correctly mark failure messages

On our setup we cannot configure the chpids to 'standby'.
However, this has no influence on the testcase.
So mark this error as 'ignored' to reduce confusion.

Signed-off-by: Hannes Reinecke <hare@suse.de>
monitor_testcase_4: Catch errors from detach

When 'vmcp detach' fails we should be aborting the test.

Signed-off-by: Hannes Reinecke <hare@suse.de>
md_monitor: do not count failed devices on reset

When attempting to reset the array no devices must have registered
an I/O error. If they do reset will fail anyway.
So do not count devices with I/O errors at all.

Signed-off-by: Hannes Reinecke <hare@suse.de>
md_monitor: Do not ignore devices with status 'unknown'

Even devices with status 'unknown' should be displayed; if
the array device is present we assume the array is working.

Signed-off-by: Hannes Reinecke <hare@suse.de>
monitor_testcase_12: adjust log messages

We should be using the same sequence when wait_for_sync fails,
and we should be printing out the ArrayStatus message for better
tracking.

Signed-off-by: Hannes Reinecke <hare@suse.de>