summaryrefslogtreecommitdiffstats
path: root/block/mirror.c
Commit message (Expand)AuthorAgeFilesLines
* block: Purify .bdrv_refresh_filename()Max Reitz2019-02-251-1/+1
* block: Use children list in bdrv_refresh_filenameMax Reitz2019-02-251-1/+0Star
* mirror: Block the source BlockDriverState in mirror_start_job()Alberto Garcia2019-02-011-0/+8
* mirror: Release the dirty bitmap if mirror_start_job() failsAlberto Garcia2019-02-011-0/+3
* block/mirror: fix and improve do_sync_target_writeVladimir Sementsov-Ogievskiy2019-01-161-9/+8Star
* qemu/queue.h: leave head structs anonymous unless necessaryPaolo Bonzini2019-01-111-1/+1
* block/mirror: add missing coroutine_fn annotationsStefan Hajnoczi2018-12-141-8/+11
* block: Use bdrv_reopen_set_read_only() in the mirror driverAlberto Garcia2018-12-141-7/+12
* mirror: fix dead-lockVladimir Sementsov-Ogievskiy2018-12-031-8/+5Star
* block/mirror: conservative mirror_exit refactorJohn Snow2018-09-251-11/+33
* block/mirror: don't install backing chain on abortJohn Snow2018-09-251-1/+1
* block/mirror: add block job creation flagsJohn Snow2018-09-251-2/+3
* block/mirror: utilize job_exit shimJohn Snow2018-08-311-18/+11Star
* jobs: canonize Error objectJohn Snow2018-08-311-1/+1
* jobs: change start callback to run callbackJohn Snow2018-08-311-4/+6
* block: drop empty .bdrv_close handlersVladimir Sementsov-Ogievskiy2018-08-151-5/+0Star
* mirror: Fail gracefully for source == targetKevin Wolf2018-08-151-0/+5
* block: Use BdrvChild to discardFam Zheng2018-07-101-1/+1
* block/mirror: Add copy mode QAPI interfaceMax Reitz2018-06-181-5/+7
* block/mirror: Add active mirroringMax Reitz2018-06-181-5/+247
* block/mirror: Add MirrorBDSOpaqueMax Reitz2018-06-181-0/+12
* block/mirror: Use source as a BdrvChildMax Reitz2018-06-181-8/+6Star
* block/mirror: Wait for in-flight op conflictsMax Reitz2018-06-181-18/+84
* block/mirror: Use CoQueue to wait on in-flight opsMax Reitz2018-06-181-11/+23
* block/mirror: Convert to coroutinesMax Reitz2018-06-181-62/+90
* block/mirror: Pull out mirror_perform()Max Reitz2018-06-181-22/+29
* block: Really pause block jobs on drainKevin Wolf2018-06-181-0/+8
* job: Add error message for failing jobsKevin Wolf2018-05-301-1/+1
* job: Move progress fields to JobKevin Wolf2018-05-231-2/+2
* job: Add job_transition_to_ready()Kevin Wolf2018-05-231-3/+3
* job: Add job_yield()Kevin Wolf2018-05-231-1/+1
* job: Move completion and cancellation to JobKevin Wolf2018-05-231-3/+3
* job: Move .complete callback to JobKevin Wolf2018-05-231-5/+5
* job: Add job_drain()Kevin Wolf2018-05-231-0/+2
* job: Convert block_job_cancel_async() to JobKevin Wolf2018-05-231-2/+2
* job: Move single job finalisation to JobKevin Wolf2018-05-231-1/+1
* job: Move BlockJobCreateFlags to JobKevin Wolf2018-05-231-1/+1
* job: Move pause/resume functions to JobKevin Wolf2018-05-231-0/+2
* job: Add job_sleep_ns()Kevin Wolf2018-05-231-2/+2
* job: Move coroutine and related code to JobKevin Wolf2018-05-231-11/+11
* job: Move defer_to_main_loop to JobKevin Wolf2018-05-231-7/+8
* job: Move cancelled to JobKevin Wolf2018-05-231-10/+10
* job: Add reference countingKevin Wolf2018-05-231-0/+2
* job: Add JobDriver.job_typeKevin Wolf2018-05-231-2/+2
* job: Rename BlockJobType into JobTypeKevin Wolf2018-05-231-2/+2
* job: Create Job, JobDriver and job_create()Kevin Wolf2018-05-231-3/+7
* block: Support BDRV_REQ_WRITE_UNCHANGED in filtersMax Reitz2018-05-151-0/+2
* blockjob: Introduce block_job_ratelimit_get_delay()Kevin Wolf2018-05-151-4/+1Star
* blockjob: Implement block_job_set_speed() centrallyKevin Wolf2018-05-151-20/+6Star
* blockjob: Move RateLimit to BlockJobKevin Wolf2018-05-151-3/+3