• P
    blockjob: move iostatus reset inside block_job_user_resume · 2caf63a9
    Paolo Bonzini 提交于
    Outside blockjob.c, the block_job_iostatus_reset function is used once
    in the monitor and once in BlockBackend.  When we introduce the block
    job mutex, block_job_iostatus_reset's client is going to be the block
    layer (for which blockjob.c will take the block job mutex) rather than
    the monitor (which will take the block job mutex by itself).
    
    The monitor's call to block_job_iostatus_reset from the monitor comes
    just before the sole call to block_job_user_resume, so reset the
    iostatus directly from block_job_iostatus_reset.  This will avoid
    the need to introduce separate block_job_iostatus_reset and
    block_job_iostatus_reset_locked APIs.
    
    After making this change, move the function together with the others
    that were moved in the previous patch.
    Reviewed-by: NStefan Hajnoczi <stefanha@redhat.com>
    Reviewed-by: NJohn Snow <jsnow@redhat.com>
    Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
    Reviewed-by: NJeff Cody <jcody@redhat.com>
    Message-id: 20170508141310.8674-7-pbonzini@redhat.com
    Signed-off-by: NJeff Cody <jcody@redhat.com>
    2caf63a9
blockdev.c 119.2 KB