Skip to content
  • Kevin Wolf's avatar
    block: Really pause block jobs on drain · 89bd0305
    Kevin Wolf authored
    
    
    We already requested that block jobs be paused in .bdrv_drained_begin,
    but no guarantee was made that the job was actually inactive at the
    point where bdrv_drained_begin() returned.
    
    This introduces a new callback BdrvChildRole.bdrv_drained_poll() and
    uses it to make bdrv_drain_poll() consider block jobs using the node to
    be drained.
    
    For the test case to work as expected, we have to switch from
    block_job_sleep_ns() to qemu_co_sleep_ns() so that the test job is even
    considered active and must be waited for when draining the node.
    
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
    89bd0305