Commit 427c0434 authored by Lars Ellenberg's avatar Lars Ellenberg Committed by Philipp Reisner

drbd: disambiguation, s/DISCARD_CONCURRENT/RESOLVE_CONFLICTS/

We don't discard anything here, really.
We resolve conflicting, concurrent writes to overlapping data blocks.
Signed-off-by: default avatarPhilipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: default avatarLars Ellenberg <lars.ellenberg@linbit.com>
parent d4dabbe2
...@@ -799,7 +799,7 @@ extern struct fifo_buffer *fifo_alloc(int fifo_size); ...@@ -799,7 +799,7 @@ extern struct fifo_buffer *fifo_alloc(int fifo_size);
/* flag bits per tconn */ /* flag bits per tconn */
enum { enum {
NET_CONGESTED, /* The data socket is congested */ NET_CONGESTED, /* The data socket is congested */
DISCARD_CONCURRENT, /* Set on one node, cleared on the peer! */ RESOLVE_CONFLICTS, /* Set on one node, cleared on the peer! */
SEND_PING, /* whether asender should send a ping asap */ SEND_PING, /* whether asender should send a ping asap */
SIGNAL_ASENDER, /* whether asender wants to be interrupted */ SIGNAL_ASENDER, /* whether asender wants to be interrupted */
GOT_PING_ACK, /* set when we receive a ping_ack packet, ping_wait gets woken */ GOT_PING_ACK, /* set when we receive a ping_ack packet, ping_wait gets woken */
......
...@@ -2249,7 +2249,7 @@ void resync_after_online_grow(struct drbd_conf *mdev) ...@@ -2249,7 +2249,7 @@ void resync_after_online_grow(struct drbd_conf *mdev)
if (mdev->state.role != mdev->state.peer) if (mdev->state.role != mdev->state.peer)
iass = (mdev->state.role == R_PRIMARY); iass = (mdev->state.role == R_PRIMARY);
else else
iass = test_bit(DISCARD_CONCURRENT, &mdev->tconn->flags); iass = test_bit(RESOLVE_CONFLICTS, &mdev->tconn->flags);
if (iass) if (iass)
drbd_start_resync(mdev, C_SYNC_SOURCE); drbd_start_resync(mdev, C_SYNC_SOURCE);
......
...@@ -916,7 +916,7 @@ static int conn_connect(struct drbd_tconn *tconn) ...@@ -916,7 +916,7 @@ static int conn_connect(struct drbd_tconn *tconn)
sock.socket = s; sock.socket = s;
send_first_packet(tconn, &sock, P_INITIAL_DATA); send_first_packet(tconn, &sock, P_INITIAL_DATA);
} else if (!msock.socket) { } else if (!msock.socket) {
clear_bit(DISCARD_CONCURRENT, &tconn->flags); clear_bit(RESOLVE_CONFLICTS, &tconn->flags);
msock.socket = s; msock.socket = s;
send_first_packet(tconn, &msock, P_INITIAL_META); send_first_packet(tconn, &msock, P_INITIAL_META);
} else { } else {
...@@ -954,7 +954,7 @@ static int conn_connect(struct drbd_tconn *tconn) ...@@ -954,7 +954,7 @@ static int conn_connect(struct drbd_tconn *tconn)
sock.socket = s; sock.socket = s;
break; break;
case P_INITIAL_META: case P_INITIAL_META:
set_bit(DISCARD_CONCURRENT, &tconn->flags); set_bit(RESOLVE_CONFLICTS, &tconn->flags);
if (msock.socket) { if (msock.socket) {
conn_warn(tconn, "initial packet M crossed\n"); conn_warn(tconn, "initial packet M crossed\n");
sock_release(msock.socket); sock_release(msock.socket);
...@@ -1899,7 +1899,7 @@ static bool need_peer_seq(struct drbd_conf *mdev) ...@@ -1899,7 +1899,7 @@ static bool need_peer_seq(struct drbd_conf *mdev)
/* /*
* We only need to keep track of the last packet_seq number of our peer * We only need to keep track of the last packet_seq number of our peer
* if we are in dual-primary mode and we have the discard flag set; see * if we are in dual-primary mode and we have the resolve-conflicts flag set; see
* handle_write_conflicts(). * handle_write_conflicts().
*/ */
...@@ -1907,7 +1907,7 @@ static bool need_peer_seq(struct drbd_conf *mdev) ...@@ -1907,7 +1907,7 @@ static bool need_peer_seq(struct drbd_conf *mdev)
tp = rcu_dereference(mdev->tconn->net_conf)->two_primaries; tp = rcu_dereference(mdev->tconn->net_conf)->two_primaries;
rcu_read_unlock(); rcu_read_unlock();
return tp && test_bit(DISCARD_CONCURRENT, &tconn->flags); return tp && test_bit(RESOLVE_CONFLICTS, &tconn->flags);
} }
static void update_peer_seq(struct drbd_conf *mdev, unsigned int peer_seq) static void update_peer_seq(struct drbd_conf *mdev, unsigned int peer_seq)
...@@ -2048,7 +2048,7 @@ static int handle_write_conflicts(struct drbd_conf *mdev, ...@@ -2048,7 +2048,7 @@ static int handle_write_conflicts(struct drbd_conf *mdev,
struct drbd_peer_request *peer_req) struct drbd_peer_request *peer_req)
{ {
struct drbd_tconn *tconn = mdev->tconn; struct drbd_tconn *tconn = mdev->tconn;
bool resolve_conflicts = test_bit(DISCARD_CONCURRENT, &tconn->flags); bool resolve_conflicts = test_bit(RESOLVE_CONFLICTS, &tconn->flags);
sector_t sector = peer_req->i.sector; sector_t sector = peer_req->i.sector;
const unsigned int size = peer_req->i.size; const unsigned int size = peer_req->i.size;
struct drbd_interval *i; struct drbd_interval *i;
...@@ -2600,7 +2600,7 @@ static int drbd_asb_recover_0p(struct drbd_conf *mdev) __must_hold(local) ...@@ -2600,7 +2600,7 @@ static int drbd_asb_recover_0p(struct drbd_conf *mdev) __must_hold(local)
"Using discard-least-changes instead\n"); "Using discard-least-changes instead\n");
case ASB_DISCARD_ZERO_CHG: case ASB_DISCARD_ZERO_CHG:
if (ch_peer == 0 && ch_self == 0) { if (ch_peer == 0 && ch_self == 0) {
rv = test_bit(DISCARD_CONCURRENT, &mdev->tconn->flags) rv = test_bit(RESOLVE_CONFLICTS, &mdev->tconn->flags)
? -1 : 1; ? -1 : 1;
break; break;
} else { } else {
...@@ -2616,7 +2616,7 @@ static int drbd_asb_recover_0p(struct drbd_conf *mdev) __must_hold(local) ...@@ -2616,7 +2616,7 @@ static int drbd_asb_recover_0p(struct drbd_conf *mdev) __must_hold(local)
rv = 1; rv = 1;
else /* ( ch_self == ch_peer ) */ else /* ( ch_self == ch_peer ) */
/* Well, then use something else. */ /* Well, then use something else. */
rv = test_bit(DISCARD_CONCURRENT, &mdev->tconn->flags) rv = test_bit(RESOLVE_CONFLICTS, &mdev->tconn->flags)
? -1 : 1; ? -1 : 1;
break; break;
case ASB_DISCARD_LOCAL: case ASB_DISCARD_LOCAL:
...@@ -2839,7 +2839,7 @@ static int drbd_uuid_compare(struct drbd_conf *mdev, int *rule_nr) __must_hold(l ...@@ -2839,7 +2839,7 @@ static int drbd_uuid_compare(struct drbd_conf *mdev, int *rule_nr) __must_hold(l
case 1: /* self_pri && !peer_pri */ return 1; case 1: /* self_pri && !peer_pri */ return 1;
case 2: /* !self_pri && peer_pri */ return -1; case 2: /* !self_pri && peer_pri */ return -1;
case 3: /* self_pri && peer_pri */ case 3: /* self_pri && peer_pri */
dc = test_bit(DISCARD_CONCURRENT, &mdev->tconn->flags); dc = test_bit(RESOLVE_CONFLICTS, &mdev->tconn->flags);
return dc ? -1 : 1; return dc ? -1 : 1;
} }
} }
...@@ -3775,7 +3775,7 @@ static int receive_req_state(struct drbd_tconn *tconn, struct packet_info *pi) ...@@ -3775,7 +3775,7 @@ static int receive_req_state(struct drbd_tconn *tconn, struct packet_info *pi)
mask.i = be32_to_cpu(p->mask); mask.i = be32_to_cpu(p->mask);
val.i = be32_to_cpu(p->val); val.i = be32_to_cpu(p->val);
if (test_bit(DISCARD_CONCURRENT, &mdev->tconn->flags) && if (test_bit(RESOLVE_CONFLICTS, &mdev->tconn->flags) &&
mutex_is_locked(mdev->state_mutex)) { mutex_is_locked(mdev->state_mutex)) {
drbd_send_sr_reply(mdev, SS_CONCURRENT_ST_CHG); drbd_send_sr_reply(mdev, SS_CONCURRENT_ST_CHG);
return 0; return 0;
...@@ -3801,7 +3801,7 @@ static int receive_req_conn_state(struct drbd_tconn *tconn, struct packet_info * ...@@ -3801,7 +3801,7 @@ static int receive_req_conn_state(struct drbd_tconn *tconn, struct packet_info *
mask.i = be32_to_cpu(p->mask); mask.i = be32_to_cpu(p->mask);
val.i = be32_to_cpu(p->val); val.i = be32_to_cpu(p->val);
if (test_bit(DISCARD_CONCURRENT, &tconn->flags) && if (test_bit(RESOLVE_CONFLICTS, &tconn->flags) &&
mutex_is_locked(&tconn->cstate_mutex)) { mutex_is_locked(&tconn->cstate_mutex)) {
conn_send_sr_reply(tconn, SS_CONCURRENT_ST_CHG); conn_send_sr_reply(tconn, SS_CONCURRENT_ST_CHG);
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment