summaryrefslogtreecommitdiff
path: root/drivers/block/drbd/drbd_req.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/block/drbd/drbd_req.c')
-rw-r--r--drivers/block/drbd/drbd_req.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/block/drbd/drbd_req.c b/drivers/block/drbd/drbd_req.c
index 528909090df7..889175110c91 100644
--- a/drivers/block/drbd/drbd_req.c
+++ b/drivers/block/drbd/drbd_req.c
@@ -762,7 +762,7 @@ static int drbd_may_do_local_read(struct drbd_conf *mdev, sector_t sector, int s
return 0 == drbd_bm_count_bits(mdev, sbnr, ebnr);
}
-static int drbd_should_do_remote(struct drbd_conf *mdev)
+static bool drbd_should_do_remote(struct drbd_conf *mdev)
{
union drbd_state s = mdev->state;
@@ -770,13 +770,17 @@ static int drbd_should_do_remote(struct drbd_conf *mdev)
(s.pdsk >= D_INCONSISTENT &&
s.conn >= C_WF_BITMAP_T &&
s.conn < C_AHEAD);
+ /* Before proto 96 that was >= CONNECTED instead of >= C_WF_BITMAP_T.
+ That is equivalent since before 96 IO was frozen in the C_WF_BITMAP*
+ states. */
}
-static int drbd_should_send_oos(struct drbd_conf *mdev)
+static bool drbd_should_send_oos(struct drbd_conf *mdev)
{
union drbd_state s = mdev->state;
- return s.pdsk >= D_INCONSISTENT &&
- (s.conn == C_AHEAD || s.conn == C_WF_BITMAP_S);
+ return s.conn == C_AHEAD || s.conn == C_WF_BITMAP_S;
+ /* pdsk = D_INCONSISTENT as a consequence. Protocol 96 check not necessary
+ since we enter state C_AHEAD only if proto >= 96 */
}
static int drbd_make_request_common(struct drbd_conf *mdev, struct bio *bio, unsigned long start_time)