aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_int.h
diff options
context:
space:
mode:
authorPhilipp Reisner <philipp.reisner@linbit.com>2011-02-09 08:10:32 -0500
committerPhilipp Reisner <philipp.reisner@linbit.com>2011-09-28 04:33:16 -0400
commit2a67d8b93b3363d4a5608d16d510a4bf6b3863fb (patch)
tree1df36bd453029bf29dc5d4dbb97b6212f00736bb /drivers/block/drbd/drbd_int.h
parent00d56944ff086f895e9ad184a7785ca1eece4a3b (diff)
drbd: Converted drbd_send_ping() and related functions from mdev to tconn
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd/drbd_int.h')
-rw-r--r--drivers/block/drbd/drbd_int.h21
1 files changed, 14 insertions, 7 deletions
diff --git a/drivers/block/drbd/drbd_int.h b/drivers/block/drbd/drbd_int.h
index 8f9cc9d1bf93..e2b59f58a0aa 100644
--- a/drivers/block/drbd/drbd_int.h
+++ b/drivers/block/drbd/drbd_int.h
@@ -790,7 +790,6 @@ enum {
790 RESIZE_PENDING, /* Size change detected locally, waiting for the response from 790 RESIZE_PENDING, /* Size change detected locally, waiting for the response from
791 * the peer, if it changed there as well. */ 791 * the peer, if it changed there as well. */
792 CONN_DRY_RUN, /* Expect disconnect after resync handshake. */ 792 CONN_DRY_RUN, /* Expect disconnect after resync handshake. */
793 GOT_PING_ACK, /* set when we receive a ping_ack packet, misc wait gets woken */
794 NEW_CUR_UUID, /* Create new current UUID when thawing IO */ 793 NEW_CUR_UUID, /* Create new current UUID when thawing IO */
795 AL_SUSPENDED, /* Activity logging is currently suspended. */ 794 AL_SUSPENDED, /* Activity logging is currently suspended. */
796 AHEAD_TO_SYNC_SOURCE, /* Ahead -> SyncSource queued */ 795 AHEAD_TO_SYNC_SOURCE, /* Ahead -> SyncSource queued */
@@ -913,6 +912,7 @@ enum {
913 DISCARD_CONCURRENT, /* Set on one node, cleared on the peer! */ 912 DISCARD_CONCURRENT, /* Set on one node, cleared on the peer! */
914 SEND_PING, /* whether asender should send a ping asap */ 913 SEND_PING, /* whether asender should send a ping asap */
915 SIGNAL_ASENDER, /* whether asender wants to be interrupted */ 914 SIGNAL_ASENDER, /* whether asender wants to be interrupted */
915 GOT_PING_ACK, /* set when we receive a ping_ack packet, ping_wait gets woken */
916}; 916};
917 917
918struct drbd_tconn { /* is a resource from the config file */ 918struct drbd_tconn { /* is a resource from the config file */
@@ -925,6 +925,7 @@ struct drbd_tconn { /* is a resource from the config file */
925 struct net_conf *net_conf; /* protected by get_net_conf() and put_net_conf() */ 925 struct net_conf *net_conf; /* protected by get_net_conf() and put_net_conf() */
926 atomic_t net_cnt; /* Users of net_conf */ 926 atomic_t net_cnt; /* Users of net_conf */
927 wait_queue_head_t net_cnt_wait; 927 wait_queue_head_t net_cnt_wait;
928 wait_queue_head_t ping_wait; /* Woken upon reception of a ping, and a state change */
928 929
929 struct drbd_socket data; /* data/barrier/cstate/parameter packets */ 930 struct drbd_socket data; /* data/barrier/cstate/parameter packets */
930 struct drbd_socket meta; /* ping/ack (metadata) packets */ 931 struct drbd_socket meta; /* ping/ack (metadata) packets */
@@ -1180,12 +1181,12 @@ extern int drbd_send_state(struct drbd_conf *mdev);
1180extern int _conn_send_cmd(struct drbd_tconn *tconn, int vnr, struct socket *sock, 1181extern int _conn_send_cmd(struct drbd_tconn *tconn, int vnr, struct socket *sock,
1181 enum drbd_packet cmd, struct p_header *h, size_t size, 1182 enum drbd_packet cmd, struct p_header *h, size_t size,
1182 unsigned msg_flags); 1183 unsigned msg_flags);
1184extern int conn_send_cmd(struct drbd_tconn *tconn, int vnr, int use_data_socket,
1185 enum drbd_packet cmd, struct p_header *h, size_t size);
1183extern int conn_send_cmd2(struct drbd_tconn *tconn, enum drbd_packet cmd, 1186extern int conn_send_cmd2(struct drbd_tconn *tconn, enum drbd_packet cmd,
1184 char *data, size_t size); 1187 char *data, size_t size);
1185#define USE_DATA_SOCKET 1 1188#define USE_DATA_SOCKET 1
1186#define USE_META_SOCKET 0 1189#define USE_META_SOCKET 0
1187extern int drbd_send_cmd(struct drbd_conf *mdev, int use_data_socket,
1188 enum drbd_packet cmd, struct p_header *h, size_t size);
1189extern int drbd_send_sync_param(struct drbd_conf *mdev, struct syncer_conf *sc); 1190extern int drbd_send_sync_param(struct drbd_conf *mdev, struct syncer_conf *sc);
1190extern int drbd_send_b_ack(struct drbd_conf *mdev, u32 barrier_nr, 1191extern int drbd_send_b_ack(struct drbd_conf *mdev, u32 barrier_nr,
1191 u32 set_size); 1192 u32 set_size);
@@ -1886,6 +1887,12 @@ static inline int _drbd_send_cmd(struct drbd_conf *mdev, struct socket *sock,
1886 return _conn_send_cmd(mdev->tconn, mdev->vnr, sock, cmd, h, size, msg_flags); 1887 return _conn_send_cmd(mdev->tconn, mdev->vnr, sock, cmd, h, size, msg_flags);
1887} 1888}
1888 1889
1890static inline int drbd_send_cmd(struct drbd_conf *mdev, int use_data_socket,
1891 enum drbd_packet cmd, struct p_header *h, size_t size)
1892{
1893 return conn_send_cmd(mdev->tconn, mdev->vnr, use_data_socket, cmd, h, size);
1894}
1895
1889static inline int drbd_send_short_cmd(struct drbd_conf *mdev, 1896static inline int drbd_send_short_cmd(struct drbd_conf *mdev,
1890 enum drbd_packet cmd) 1897 enum drbd_packet cmd)
1891{ 1898{
@@ -1893,16 +1900,16 @@ static inline int drbd_send_short_cmd(struct drbd_conf *mdev,
1893 return drbd_send_cmd(mdev, USE_DATA_SOCKET, cmd, &h, sizeof(h)); 1900 return drbd_send_cmd(mdev, USE_DATA_SOCKET, cmd, &h, sizeof(h));
1894} 1901}
1895 1902
1896static inline int drbd_send_ping(struct drbd_conf *mdev) 1903static inline int drbd_send_ping(struct drbd_tconn *tconn)
1897{ 1904{
1898 struct p_header h; 1905 struct p_header h;
1899 return drbd_send_cmd(mdev, USE_META_SOCKET, P_PING, &h, sizeof(h)); 1906 return conn_send_cmd(tconn, 0, USE_META_SOCKET, P_PING, &h, sizeof(h));
1900} 1907}
1901 1908
1902static inline int drbd_send_ping_ack(struct drbd_conf *mdev) 1909static inline int drbd_send_ping_ack(struct drbd_tconn *tconn)
1903{ 1910{
1904 struct p_header h; 1911 struct p_header h;
1905 return drbd_send_cmd(mdev, USE_META_SOCKET, P_PING_ACK, &h, sizeof(h)); 1912 return conn_send_cmd(tconn, 0, USE_META_SOCKET, P_PING_ACK, &h, sizeof(h));
1906} 1913}
1907 1914
1908static inline void drbd_thread_stop(struct drbd_thread *thi) 1915static inline void drbd_thread_stop(struct drbd_thread *thi)