struct mdinfo;
+struct metadata_update;
-struct mdinfo;
-struct md_message {
- int seq;
- int num_bytes;
- void *buf;
-};
-
-enum md_message_action {
- md_action_ping_monitor,
- md_action_remove_device,
-};
-
-struct md_generic_cmd {
- enum md_message_action action;
-};
-
-struct md_remove_device_cmd {
- enum md_message_action action;
- dev_t rdev;
-};
-
-/* union of all known command types, used to sanity check ->num_bytes
- * on the receive path
- */
-union md_message_commands {
- struct md_generic_cmd generic;
- struct md_remove_device_cmd remove;
-};
-
-extern const int start_magic;
-extern const int end_magic;
-
-extern int receive_message(int fd, struct md_message *msg, int tmo);
-extern int send_message(int fd, struct md_message *msg, int tmo);
-extern int ack(int fd, int seq, int tmo);
-extern int nack(int fd, int err, int tmo);
+extern int receive_message(int fd, struct metadata_update *msg, int tmo);
+extern int send_message(int fd, struct metadata_update *msg, int tmo);
+extern int ack(int fd, int tmo);
+extern int wait_reply(int fd, int tmo);
extern int connect_monitor(char *devname);
extern int ping_monitor(char *devname);
-extern int send_remove_device(int fd, dev_t rdev, int seq, int tmo);
+extern int fping_monitor(int sock);
+extern int ping_manager(char *devname);
+#define MSG_MAX_LEN (4*1024*1024)