aboutsummaryrefslogtreecommitdiff
path: root/block.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2011-08-22 00:25:58 +0200
committerKevin Wolf <kwolf@redhat.com>2011-08-23 17:41:14 +0200
commite8045d6726b45e27812cc7504781859e8c3afffb (patch)
treed316ed5583883f7e7b02afa0e4f0cda178713f3f /block.c
parentf785a5ae36c92fbeb8e0e8c9d71f5789cbce8b29 (diff)
downloadqemu-e8045d6726b45e27812cc7504781859e8c3afffb.zip
qemu-e8045d6726b45e27812cc7504781859e8c3afffb.tar.gz
qemu-e8045d6726b45e27812cc7504781859e8c3afffb.tar.bz2
block: include flush requests in info blockstats
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block.c')
-rw-r--r--block.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/block.c b/block.c
index 4186a2f..0f256f5 100644
--- a/block.c
+++ b/block.c
@@ -1915,11 +1915,13 @@ static void bdrv_stats_iter(QObject *data, void *opaque)
" wr_bytes=%" PRId64
" rd_operations=%" PRId64
" wr_operations=%" PRId64
+ " flush_operations=%" PRId64
"\n",
qdict_get_int(qdict, "rd_bytes"),
qdict_get_int(qdict, "wr_bytes"),
qdict_get_int(qdict, "rd_operations"),
- qdict_get_int(qdict, "wr_operations"));
+ qdict_get_int(qdict, "wr_operations"),
+ qdict_get_int(qdict, "flush_operations"));
}
void bdrv_stats_print(Monitor *mon, const QObject *data)
@@ -1937,12 +1939,16 @@ static QObject* bdrv_info_stats_bs(BlockDriverState *bs)
"'wr_bytes': %" PRId64 ","
"'rd_operations': %" PRId64 ","
"'wr_operations': %" PRId64 ","
- "'wr_highest_offset': %" PRId64
+ "'wr_highest_offset': %" PRId64 ","
+ "'flush_operations': %" PRId64
"} }",
- bs->rd_bytes, bs->wr_bytes,
- bs->rd_ops, bs->wr_ops,
+ bs->rd_bytes,
+ bs->wr_bytes,
+ bs->rd_ops,
+ bs->wr_ops,
bs->wr_highest_sector *
- (uint64_t)BDRV_SECTOR_SIZE);
+ (uint64_t)BDRV_SECTOR_SIZE,
+ bs->flush_ops);
dict = qobject_to_qdict(res);
if (*bs->device_name) {
@@ -2606,6 +2612,8 @@ BlockDriverAIOCB *bdrv_aio_flush(BlockDriverState *bs,
trace_bdrv_aio_flush(bs, opaque);
+ bs->flush_ops++;
+
if (bs->open_flags & BDRV_O_NO_FLUSH) {
return bdrv_aio_noop_em(bs, cb, opaque);
}