提交 eb12010e 编写于 作者: L Lars Ellenberg 提交者: Philipp Reisner

drbd: disambiguation, s/ERR_DISCARD/ERR_DISCARD_IMPOSSIBLE/

If for some reason (typically "split-brained" cluster manager)
drbd replica data has diverged, we can chose a victim,
and reconnect using "--discard-my-data", causing the victim
to become sync-target, fetching all changed blocks from the peer.

If we are Primary, we are potentially in use, and we refuse to
"roll back" changes to the data below the page cache and other users.

Rename the error symbol for this to ERR_DISCARD_IMPOSSIBLE.
Signed-off-by: NPhilipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: NLars Ellenberg <lars.ellenberg@linbit.com>
上级 427c0434
...@@ -1829,7 +1829,7 @@ _check_net_options(struct drbd_tconn *tconn, struct net_conf *old_conf, struct n ...@@ -1829,7 +1829,7 @@ _check_net_options(struct drbd_tconn *tconn, struct net_conf *old_conf, struct n
return ERR_STONITH_AND_PROT_A; return ERR_STONITH_AND_PROT_A;
} }
if (mdev->state.role == R_PRIMARY && new_conf->discard_my_data) if (mdev->state.role == R_PRIMARY && new_conf->discard_my_data)
return ERR_DISCARD; return ERR_DISCARD_IMPOSSIBLE;
} }
if (new_conf->on_congestion != OC_BLOCK && new_conf->wire_protocol != DRBD_PROT_A) if (new_conf->on_congestion != OC_BLOCK && new_conf->wire_protocol != DRBD_PROT_A)
......
...@@ -136,7 +136,7 @@ enum drbd_ret_code { ...@@ -136,7 +136,7 @@ enum drbd_ret_code {
ERR_AUTH_ALG = 120, ERR_AUTH_ALG = 120,
ERR_AUTH_ALG_ND = 121, ERR_AUTH_ALG_ND = 121,
ERR_NOMEM = 122, ERR_NOMEM = 122,
ERR_DISCARD = 123, ERR_DISCARD_IMPOSSIBLE = 123,
ERR_DISK_CONFIGURED = 124, ERR_DISK_CONFIGURED = 124,
ERR_NET_CONFIGURED = 125, ERR_NET_CONFIGURED = 125,
ERR_MANDATORY_TAG = 126, ERR_MANDATORY_TAG = 126,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册