drbd: Documenting drbd_should_do_remote() and drbd_should_send_oos()
authorPhilipp Reisner <philipp.reisner@linbit.com>
Mon, 20 Dec 2010 14:29:28 +0000 (15:29 +0100)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Thu, 10 Mar 2011 10:43:32 +0000 (11:43 +0100)
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
drivers/block/drbd/drbd_req.c

index 5289090..8891751 100644 (file)
@@ -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)