client: properly assign client eta in flight
authorJens Axboe <axboe@kernel.dk>
Mon, 10 Oct 2011 12:36:07 +0000 (14:36 +0200)
committerJens Axboe <axboe@kernel.dk>
Mon, 10 Oct 2011 12:36:07 +0000 (14:36 +0200)
Signed-off-by: Jens Axboe <axboe@kernel.dk>
client.c

index 66ef38ca1e93dd761975b5773adc215cae4efa57..097fcc57adfc763afdeb361d16d38dc77d9ad011 100644 (file)
--- a/client.c
+++ b/client.c
@@ -610,6 +610,9 @@ static void handle_eta(struct fio_client *client, struct fio_net_cmd *cmd)
 
        dprint(FD_NET, "client: got eta tag %p, %d\n", eta, eta->pending);
 
+       assert(client->eta_in_flight == eta);
+
+       client->eta_in_flight = NULL;
        flist_del_init(&client->eta_list);
 
        convert_jobs_eta(je);
@@ -725,7 +728,9 @@ static void request_client_etas(void)
                        continue;
                }
 
+               assert(!client->eta_in_flight);
                flist_add_tail(&client->eta_list, &eta_list);
+               client->eta_in_flight = eta;
                fio_net_send_simple_cmd(client->fd, FIO_NET_CMD_SEND_ETA,
                                                (uint64_t) eta);
        }