Loading block.c +13 −5 Original line number Diff line number Diff line Loading @@ -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) Loading @@ -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) { Loading Loading @@ -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); } Loading block_int.h +1 −0 Original line number Diff line number Diff line Loading @@ -188,6 +188,7 @@ struct BlockDriverState { uint64_t wr_bytes; uint64_t rd_ops; uint64_t wr_ops; uint64_t flush_ops; uint64_t wr_highest_sector; /* Whether the disk can expand beyond total_sectors */ Loading qmp-commands.hx +6 −0 Original line number Diff line number Diff line Loading @@ -1201,6 +1201,7 @@ Each json-object contain the following: - "wr_bytes": bytes written (json-int) - "rd_operations": read operations (json-int) - "wr_operations": write operations (json-int) - "flush_operations": cache flush operations (json-int) - "wr_highest_offset": Highest offset of a sector written since the BlockDriverState has been opened (json-int) - "parent": Contains recursively the statistics of the underlying Loading @@ -1222,6 +1223,7 @@ Example: "wr_operations":751, "rd_bytes":122567168, "rd_operations":36772 "flush_operations":61, } }, "stats":{ Loading @@ -1230,6 +1232,7 @@ Example: "wr_operations":692, "rd_bytes":122739200, "rd_operations":36604 "flush_operations":51, } }, { Loading @@ -1240,6 +1243,7 @@ Example: "wr_operations":0, "rd_bytes":0, "rd_operations":0 "flush_operations":0, } }, { Loading @@ -1250,6 +1254,7 @@ Example: "wr_operations":0, "rd_bytes":0, "rd_operations":0 "flush_operations":0, } }, { Loading @@ -1260,6 +1265,7 @@ Example: "wr_operations":0, "rd_bytes":0, "rd_operations":0 "flush_operations":0, } } ] Loading Loading
block.c +13 −5 Original line number Diff line number Diff line Loading @@ -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) Loading @@ -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) { Loading Loading @@ -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); } Loading
block_int.h +1 −0 Original line number Diff line number Diff line Loading @@ -188,6 +188,7 @@ struct BlockDriverState { uint64_t wr_bytes; uint64_t rd_ops; uint64_t wr_ops; uint64_t flush_ops; uint64_t wr_highest_sector; /* Whether the disk can expand beyond total_sectors */ Loading
qmp-commands.hx +6 −0 Original line number Diff line number Diff line Loading @@ -1201,6 +1201,7 @@ Each json-object contain the following: - "wr_bytes": bytes written (json-int) - "rd_operations": read operations (json-int) - "wr_operations": write operations (json-int) - "flush_operations": cache flush operations (json-int) - "wr_highest_offset": Highest offset of a sector written since the BlockDriverState has been opened (json-int) - "parent": Contains recursively the statistics of the underlying Loading @@ -1222,6 +1223,7 @@ Example: "wr_operations":751, "rd_bytes":122567168, "rd_operations":36772 "flush_operations":61, } }, "stats":{ Loading @@ -1230,6 +1232,7 @@ Example: "wr_operations":692, "rd_bytes":122739200, "rd_operations":36604 "flush_operations":51, } }, { Loading @@ -1240,6 +1243,7 @@ Example: "wr_operations":0, "rd_bytes":0, "rd_operations":0 "flush_operations":0, } }, { Loading @@ -1250,6 +1254,7 @@ Example: "wr_operations":0, "rd_bytes":0, "rd_operations":0 "flush_operations":0, } }, { Loading @@ -1260,6 +1265,7 @@ Example: "wr_operations":0, "rd_bytes":0, "rd_operations":0 "flush_operations":0, } } ] Loading