Hi Christophe,
fast_io_fail is only meaningful if it is smaller than dev_loss_tmo.
Setting dev_loss_tmo value to fast_io_fail ends up with -EINVAL.
If the fast_io_fail is not configured properly, turning it off
seems to be the right behavior.
MP_FAST_IO_FAIL_OFF is -1, defined in the following patch:
[PATCH] Fix for setting '0' to fast_io_fail
http://www.redhat.com/archives/dm-devel/2012-March/msg00047.html
--
Jun'ichi Nomura, NEC Corporation
mpp->alias, dev_loss_tmo);
}
mpp->dev_loss = dev_loss_tmo;
- if (mpp->fast_io_fail > (int)mpp->dev_loss) {
- mpp->fast_io_fail = mpp->dev_loss;
- condlog(3, "%s: update fast_io_fail to %d",
+ if (mpp->dev_loss && mpp->fast_io_fail >= (int)mpp->dev_loss) {
+ condlog(3, "%s: turning off fast_io_fail (%d is not smaller than dev_loss_tmo)",
mpp->alias, mpp->fast_io_fail);
+ mpp->fast_io_fail = MP_FAST_IO_FAIL_OFF;
}
if (!mpp->dev_loss && !mpp->fast_io_fail)
return 0;