drbd: No longer answer P_RS_DATA_REQUEST packets when in C_AHEAD mode
authorPhilipp Reisner <philipp.reisner@linbit.com>
Mon, 27 Dec 2010 09:53:28 +0000 (10:53 +0100)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Thu, 10 Mar 2011 10:45:25 +0000 (11:45 +0100)
commitd612d309e4c8401ad94c531678b59c4a8b7c41ce
treea50d72c0d2a92701df76e7e6effd96781728f600
parent617049aa7d753e8c821ac77126ab90e9f1b66d6d
drbd: No longer answer P_RS_DATA_REQUEST packets when in C_AHEAD mode

When the sync source node replies to a P_RS_DATA_REQUEST packet
when it is already in ahead mode. I.e. those two packets
crossed each other on the wire, that may lead to diverging
bitmaps.

  This never happens in a well-tuned-system. In a well-tuned-
  system the resync controller has reduced the resync speed
  to zero long before we got into ahead-mode.

But we have to be prepared for the not-well-tuned-system
of course as well.
Because -> diverging bitmaps = non terminating resync.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
drivers/block/drbd/drbd_int.h
drivers/block/drbd/drbd_receiver.c
drivers/block/drbd/drbd_worker.c