diff options
author | Philipp Reisner <philipp.reisner@linbit.com> | 2010-05-12 11:08:26 -0400 |
---|---|---|
committer | Philipp Reisner <philipp.reisner@linbit.com> | 2010-10-14 08:35:58 -0400 |
commit | 11b58e73a3a3d1bbb582370d59f9b2c4d0136b42 (patch) | |
tree | 9ca5b48e368da91f6cc1888440b6ea9ffe9a7e3f /drivers/block/drbd/drbd_req.h | |
parent | 2a80699f807885d501f08a7006f6a56c1c937a6e (diff) |
drbd: factored tl_restart() out of tl_clear().
If IO was frozen for a temporal network outage, resend the
content of the transfer-log into the newly established connection.
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd/drbd_req.h')
-rw-r--r-- | drivers/block/drbd/drbd_req.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/block/drbd/drbd_req.h b/drivers/block/drbd/drbd_req.h index db37c6e47fa9..1bcb85539735 100644 --- a/drivers/block/drbd/drbd_req.h +++ b/drivers/block/drbd/drbd_req.h | |||
@@ -104,6 +104,7 @@ enum drbd_req_event { | |||
104 | read_ahead_completed_with_error, | 104 | read_ahead_completed_with_error, |
105 | write_completed_with_error, | 105 | write_completed_with_error, |
106 | completed_ok, | 106 | completed_ok, |
107 | resend, | ||
107 | nothing, /* for tracing only */ | 108 | nothing, /* for tracing only */ |
108 | }; | 109 | }; |
109 | 110 | ||
@@ -206,6 +207,13 @@ enum drbd_req_state_bits { | |||
206 | 207 | ||
207 | #define RQ_WRITE (1UL << __RQ_WRITE) | 208 | #define RQ_WRITE (1UL << __RQ_WRITE) |
208 | 209 | ||
210 | /* For waking up the frozen transfer log mod_req() has to return if the request | ||
211 | should be counted in the epoch object*/ | ||
212 | #define MR_WRITE_SHIFT 0 | ||
213 | #define MR_WRITE (1 << MR_WRITE_SHIFT) | ||
214 | #define MR_READ_SHIFT 1 | ||
215 | #define MR_READ (1 << MR_READ_SHIFT) | ||
216 | |||
209 | /* epoch entries */ | 217 | /* epoch entries */ |
210 | static inline | 218 | static inline |
211 | struct hlist_head *ee_hash_slot(struct drbd_conf *mdev, sector_t sector) | 219 | struct hlist_head *ee_hash_slot(struct drbd_conf *mdev, sector_t sector) |