drbd: There might be a resync after unfreezing IO due to no disk [Bugz 332]

When on-no-data-accessible is set to suspend-io, also consider that
a Primary, SyncTarget node losses its connection.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
This commit is contained in:
Philipp Reisner 2010-12-20 14:48:20 +01:00
parent 725a97e43e
commit 3f98688afc
1 changed files with 5 additions and 7 deletions

View File

@ -1347,16 +1347,14 @@ static void after_state_ch(struct drbd_conf *mdev, union drbd_state os,
nsm.i = -1;
if (ns.susp_nod) {
if (os.conn < C_CONNECTED && ns.conn >= C_CONNECTED) {
if (ns.conn == C_CONNECTED)
what = resend, nsm.susp_nod = 0;
else /* ns.conn > C_CONNECTED */
dev_err(DEV, "Unexpected Resync going on!\n");
}
if (os.conn < C_CONNECTED && ns.conn >= C_CONNECTED)
what = resend;
if (os.disk == D_ATTACHING && ns.disk > D_ATTACHING)
what = restart_frozen_disk_io, nsm.susp_nod = 0;
what = restart_frozen_disk_io;
if (what != nothing)
nsm.susp_nod = 0;
}
if (ns.susp_fen) {