block: Extract the block accounting code
The plan is to add new accounting metrics (latency, invalid requests, failed
requests, queue depth) and block.c is overpopulated so it will be better to work
in a separate module.
Moreover the long term plan is to have statistics in each of the BDS of the graph
for metrology purpose; this means that the device model statistics must move from
the topmost BDS to the device model.
So we need to decouple the statistic code from BlockDriverState.
This is another argument for the extraction of the code in a separate module.
CC: Kevin Wolf <[email protected]>
CC: Stefan Hajnoczi <[email protected]>
CC: Max Reitz <[email protected]>
CC: Eric Blake <[email protected]>
CC: Benoit Canet <[email protected]>
CC: Fam Zheng <[email protected]>
CC: Peter Crosthwaite <[email protected]>
CC: Paolo Bonzini <[email protected]>
Signed-off-by: Benoît Canet <[email protected]>
Signed-off-by: Kevin Wolf <[email protected]>