block/qapi: Set s->device in bdrv_query_stats()
authorMax Reitz <mreitz@redhat.com>
Wed, 2 Mar 2016 17:31:08 +0000 (18:31 +0100)
committerKevin Wolf <kwolf@redhat.com>
Wed, 30 Mar 2016 09:59:32 +0000 (11:59 +0200)
This is the only instance of bdrv_query_blk_stats() accessing anything
in the BlockStats structure other than s->stats, so let us move it to
its caller (where it makes just as much sense) allowing us to make
bdrv_query_blk_stats() take a pointer to the BlockDeviceStats instead of
BlockStats.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/qapi.c

index 1961cdf..627ef57 100644 (file)
@@ -365,9 +365,6 @@ static void bdrv_query_blk_stats(BlockStats *s, BlockBackend *blk)
     BlockAcctStats *stats = blk_get_stats(blk);
     BlockAcctTimedStats *ts = NULL;
 
-    s->has_device = true;
-    s->device = g_strdup(blk_name(blk));
-
     s->stats->rd_bytes = stats->nr_bytes[BLOCK_ACCT_READ];
     s->stats->wr_bytes = stats->nr_bytes[BLOCK_ACCT_WRITE];
     s->stats->rd_operations = stats->nr_ops[BLOCK_ACCT_READ];
@@ -462,6 +459,8 @@ static BlockStats *bdrv_query_stats(BlockBackend *blk,
     s->stats = g_malloc0(sizeof(*s->stats));
 
     if (blk) {
+        s->has_device = true;
+        s->device = g_strdup(blk_name(blk));
         bdrv_query_blk_stats(s, blk);
     }
     if (bs) {