mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-22 12:14:01 +08:00
drbd: add debugging assert to make sure the protocol is clean
We expect to only receive the recently introduced "set out of sync" packets in specific states. If we receive them in different states, that may confuse the resync process to the point where it won't terminate, or think it made negative progress. Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
This commit is contained in:
parent
c88d65e223
commit
f735e36354
@ -3599,6 +3599,16 @@ static int receive_out_of_sync(struct drbd_conf *mdev, enum drbd_packets cmd, un
|
||||
{
|
||||
struct p_block_desc *p = &mdev->data.rbuf.block_desc;
|
||||
|
||||
switch (mdev->state.conn) {
|
||||
case C_WF_SYNC_UUID:
|
||||
case C_WF_BITMAP_T:
|
||||
case C_BEHIND:
|
||||
break;
|
||||
default:
|
||||
dev_err(DEV, "ASSERT FAILED cstate = %s, expected: WFSyncUUID|WFBitMapT|Behind\n",
|
||||
drbd_conn_str(mdev->state.conn));
|
||||
}
|
||||
|
||||
drbd_set_out_of_sync(mdev, be64_to_cpu(p->sector), be32_to_cpu(p->blksize));
|
||||
|
||||
return true;
|
||||
|
Loading…
Reference in New Issue
Block a user