client/server: request ETA instead of having the server send it automatically

Also changes the 'serial' of the command to a tag, that's passed
back and forth for commands that need to use it.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/server.h b/server.h
index d68cbf5..9f7eeae 100644
--- a/server.h
+++ b/server.h
@@ -14,7 +14,7 @@
 	uint16_t version;	/* protocol version */
 	uint16_t opcode;	/* command opcode */
 	uint32_t flags;		/* modifier flags */
-	uint64_t serial;	/* serial number */
+	uint64_t tag;		/* passed back on reply */
 	uint32_t pdu_len;	/* length of post-cmd layload */
 	/*
 	 * These must be immediately before the payload, anything before
@@ -26,7 +26,7 @@
 };
 
 enum {
-	FIO_SERVER_VER		= 4,
+	FIO_SERVER_VER		= 5,
 
 	FIO_SERVER_MAX_PDU	= 1024,
 
@@ -37,10 +37,11 @@
 	FIO_NET_CMD_TEXT	= 5,
 	FIO_NET_CMD_TS		= 6,
 	FIO_NET_CMD_GS		= 7,
-	FIO_NET_CMD_ETA		= 8,
-	FIO_NET_CMD_PROBE	= 9,
-	FIO_NET_CMD_START	= 10,
-	FIO_NET_CMD_STOP	= 11,
+	FIO_NET_CMD_SEND_ETA	= 8,
+	FIO_NET_CMD_ETA		= 9,
+	FIO_NET_CMD_PROBE	= 10,
+	FIO_NET_CMD_START	= 11,
+	FIO_NET_CMD_STOP	= 12,
 
 	FIO_NET_CMD_F_MORE	= 1UL << 0,
 
@@ -77,8 +78,8 @@
 extern int fio_start_server(int);
 extern int fio_server_text_output(const char *, unsigned int len);
 extern int fio_server_log(const char *format, ...);
-extern int fio_net_send_cmd(int, uint16_t, const void *, off_t);
-extern int fio_net_send_simple_cmd(int sk, uint16_t opcode, uint64_t serial);
+extern int fio_net_send_cmd(int, uint16_t, const void *, off_t, uint64_t);
+extern int fio_net_send_simple_cmd(int sk, uint16_t opcode, uint64_t tag);
 extern void fio_server_set_arg(const char *);
 extern int fio_server_parse_string(const char *, char **, int *, int *, struct in_addr *);
 
@@ -86,7 +87,6 @@
 struct group_run_stats;
 extern void fio_server_send_ts(struct thread_stat *, struct group_run_stats *);
 extern void fio_server_send_gs(struct group_run_stats *);
-extern void fio_server_send_status(void);
 extern void fio_server_idle_loop(void);
 
 extern int fio_clients_connect(void);
@@ -104,12 +104,14 @@
 extern int fio_net_port;
 
 static inline void fio_init_net_cmd(struct fio_net_cmd *cmd, uint16_t opcode,
-				    const void *pdu, uint32_t pdu_len)
+				    const void *pdu, uint32_t pdu_len,
+				    uint64_t tag)
 {
 	memset(cmd, 0, sizeof(*cmd));
 
 	cmd->version	= __cpu_to_le16(FIO_SERVER_VER);
 	cmd->opcode	= cpu_to_le16(opcode);
+	cmd->tag	= cpu_to_le64(tag);
 
 	if (pdu) {
 		cmd->pdu_len	= cpu_to_le32(pdu_len);