[dm-devel] [PATCH] Fix fast_io_fail capping
Jun'ichi Nomura
j-nomura at ce.jp.nec.com
Mon Mar 12 11:56:52 UTC 2012
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
diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c
index 16f786d..8009893 100644
--- a/libmultipath/discovery.c
+++ b/libmultipath/discovery.c
@@ -307,10 +307,10 @@ sysfs_set_scsi_tmo (struct multipath *mpp)
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;
More information about the dm-devel
mailing list