diff options
author | Philipp Reisner <philipp.reisner@linbit.com> | 2011-03-14 06:54:47 -0400 |
---|---|---|
committer | Philipp Reisner <philipp.reisner@linbit.com> | 2011-05-24 04:05:48 -0400 |
commit | d2e17807e3799bae24664a92f4d2d3dade021e00 (patch) | |
tree | 7e3abd6d91be6fac6d90b3d3adf21f8b1418736a | |
parent | f36af18c7b4ea1ba333c09b606bb4a7e5af66b4d (diff) |
drbd: Only downgrade the disk state in case of disk failures
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
-rw-r--r-- | drivers/block/drbd/drbd_int.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/block/drbd/drbd_int.h b/drivers/block/drbd/drbd_int.h index 2c38752ca8d6..5c994739d11e 100644 --- a/drivers/block/drbd/drbd_int.h +++ b/drivers/block/drbd/drbd_int.h | |||
@@ -1827,7 +1827,8 @@ static inline void __drbd_chk_io_error_(struct drbd_conf *mdev, int forcedetach, | |||
1827 | if (!forcedetach) { | 1827 | if (!forcedetach) { |
1828 | if (__ratelimit(&drbd_ratelimit_state)) | 1828 | if (__ratelimit(&drbd_ratelimit_state)) |
1829 | dev_err(DEV, "Local IO failed in %s.\n", where); | 1829 | dev_err(DEV, "Local IO failed in %s.\n", where); |
1830 | _drbd_set_state(_NS(mdev, disk, D_INCONSISTENT), CS_HARD, NULL); | 1830 | if (mdev->state.disk > D_INCONSISTENT) |
1831 | _drbd_set_state(_NS(mdev, disk, D_INCONSISTENT), CS_HARD, NULL); | ||
1831 | break; | 1832 | break; |
1832 | } | 1833 | } |
1833 | /* NOTE fall through to detach case if forcedetach set */ | 1834 | /* NOTE fall through to detach case if forcedetach set */ |