aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_req.h
diff options
context:
space:
mode:
authorPhilipp Reisner <philipp.reisner@linbit.com>2010-05-12 11:08:26 -0400
committerPhilipp Reisner <philipp.reisner@linbit.com>2010-10-14 08:35:58 -0400
commit11b58e73a3a3d1bbb582370d59f9b2c4d0136b42 (patch)
tree9ca5b48e368da91f6cc1888440b6ea9ffe9a7e3f /drivers/block/drbd/drbd_req.h
parent2a80699f807885d501f08a7006f6a56c1c937a6e (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.h8
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 */
210static inline 218static inline
211struct hlist_head *ee_hash_slot(struct drbd_conf *mdev, sector_t sector) 219struct hlist_head *ee_hash_slot(struct drbd_conf *mdev, sector_t sector)