mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-17 13:58:46 +00:00
drbd: Moved CONN_DRY_RUN to the per connection (tconn) flags
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
This commit is contained in:
parent
38fa9988fa
commit
8169e41b3e
@ -791,7 +791,6 @@ enum {
|
||||
RESYNC_AFTER_NEG, /* Resync after online grow after the attach&negotiate finished. */
|
||||
RESIZE_PENDING, /* Size change detected locally, waiting for the response from
|
||||
* the peer, if it changed there as well. */
|
||||
CONN_DRY_RUN, /* Expect disconnect after resync handshake. */
|
||||
NEW_CUR_UUID, /* Create new current UUID when thawing IO */
|
||||
AL_SUSPENDED, /* Activity logging is currently suspended. */
|
||||
AHEAD_TO_SYNC_SOURCE, /* Ahead -> SyncSource queued */
|
||||
@ -915,6 +914,7 @@ enum {
|
||||
* but worker thread is still handling the cleanup.
|
||||
* reconfiguring (nl_disk_conf, nl_net_conf) is dissalowed,
|
||||
* while this is set. */
|
||||
CONN_DRY_RUN, /* Expect disconnect after resync handshake. */
|
||||
};
|
||||
|
||||
struct drbd_tconn { /* is a resource from the config file */
|
||||
|
@ -2800,7 +2800,7 @@ static enum drbd_conns drbd_sync_handshake(struct drbd_conf *mdev, enum drbd_rol
|
||||
}
|
||||
}
|
||||
|
||||
if (mdev->tconn->net_conf->dry_run || test_bit(CONN_DRY_RUN, &mdev->flags)) {
|
||||
if (mdev->tconn->net_conf->dry_run || test_bit(CONN_DRY_RUN, &mdev->tconn->flags)) {
|
||||
if (hg == 0)
|
||||
dev_info(DEV, "dry-run connect: No resync, would become Connected immediately.\n");
|
||||
else
|
||||
@ -2869,10 +2869,10 @@ static int receive_protocol(struct drbd_conf *mdev, enum drbd_packet cmd,
|
||||
cf = be32_to_cpu(p->conn_flags);
|
||||
p_want_lose = cf & CF_WANT_LOSE;
|
||||
|
||||
clear_bit(CONN_DRY_RUN, &mdev->flags);
|
||||
clear_bit(CONN_DRY_RUN, &mdev->tconn->flags);
|
||||
|
||||
if (cf & CF_DRY_RUN)
|
||||
set_bit(CONN_DRY_RUN, &mdev->flags);
|
||||
set_bit(CONN_DRY_RUN, &mdev->tconn->flags);
|
||||
|
||||
if (p_proto != mdev->tconn->net_conf->wire_protocol) {
|
||||
dev_err(DEV, "incompatible communication protocols\n");
|
||||
@ -3439,7 +3439,7 @@ static int receive_state(struct drbd_conf *mdev, enum drbd_packet cmd,
|
||||
peer_state.disk = D_DISKLESS;
|
||||
real_peer_disk = D_DISKLESS;
|
||||
} else {
|
||||
if (test_and_clear_bit(CONN_DRY_RUN, &mdev->flags))
|
||||
if (test_and_clear_bit(CONN_DRY_RUN, &mdev->tconn->flags))
|
||||
return false;
|
||||
D_ASSERT(os.conn == C_WF_REPORT_PARAMS);
|
||||
conn_request_state(mdev->tconn, NS(conn, C_DISCONNECTING), CS_HARD);
|
||||
|
Loading…
x
Reference in New Issue
Block a user