• C
    block: explicit I/O accounting · a597e79c
    Christoph Hellwig 提交于
    Decouple the I/O accounting from bdrv_aio_readv/writev/flush and
    make the hardware models call directly into the accounting helpers.
    
    This means:
     - we do not count internal requests from image formats in addition
       to guest originating I/O
     - we do not double count I/O ops if the device model handles it
       chunk wise
     - we only account I/O once it actuall is done
     - can extent I/O accounting to synchronous or coroutine I/O easily
     - implement I/O latency tracking easily (see the next patch)
    
    I've conveted the existing device model callers to the new model,
    device models that are using synchronous I/O and weren't accounted
    before haven't been updated yet.  Also scsi hasn't been converted
    to the end-to-end accounting as I want to defer that after the pending
    scsi layer overhaul.
    Signed-off-by: NChristoph Hellwig <hch@lst.de>
    Signed-off-by: NKevin Wolf <kwolf@redhat.com>
    a597e79c
block.h 12.3 KB