enum {
CREATE_BARRIER, /* next P_DATA is preceded by a P_BARRIER */
SIGNAL_ASENDER, /* whether asender wants to be interrupted */
- SEND_PING, /* whether asender should send a ping asap */
UNPLUG_QUEUED, /* only relevant with kernel 2.4 */
UNPLUG_REMOTE, /* sending a "UnplugRemote" could help */
enum {
NET_CONGESTED, /* The data socket is congested */
DISCARD_CONCURRENT, /* Set on one node, cleared on the peer! */
+ SEND_PING, /* whether asender should send a ping asap */
};
struct drbd_tconn { /* is a resource from the config file */
static inline void request_ping(struct drbd_conf *mdev)
{
- set_bit(SEND_PING, &mdev->flags);
+ set_bit(SEND_PING, &mdev->tconn->flags);
wake_asender(mdev);
}
while (get_t_state(thi) == RUNNING) {
drbd_thread_current_set_cpu(mdev, thi);
- if (test_and_clear_bit(SEND_PING, &mdev->flags)) {
+ if (test_and_clear_bit(SEND_PING, &mdev->tconn->flags)) {
if (!drbd_send_ping(mdev)) {
dev_err(DEV, "drbd_send_ping has failed\n");
goto reconnect;
dev_err(DEV, "PingAck did not arrive in time.\n");
goto reconnect;
}
- set_bit(SEND_PING, &mdev->flags);
+ set_bit(SEND_PING, &mdev->tconn->flags);
continue;
} else if (rv == -EINTR) {
continue;