On 30/07/2015 03:35, Fam Zheng wrote:
> block.c                bdrv_create
> block/curl.c           curl_init_state
> block/io.c             bdrv_drain
> block/io.c             bdrv_drain_all
> block/io.c             bdrv_prwv_co
> block/io.c             bdrv_get_block_status_above
> block/io.c             bdrv_aio_cancel
> block/io.c             bdrv_flush
> block/io.c             bdrv_discard
> block/io.c             bdrv_flush_io_queue
> block/nfs.c            nfs_get_allocated_file_size
> block/qed-table.c      qed_read_l1_table_sync
> block/qed-table.c      qed_write_l1_table_sync
> block/qed-table.c      qed_read_l2_table_sync
> block/qed-table.c      qed_write_l2_table_sync
> blockjob.c             block_job_finish_sync
> include/block/block.h  bdrv_get_stats
> qemu-img.c             run_block_job
> qemu-io-cmds.c         do_co_write_zeroes
> qemu-io-cmds.c         wait_break_f
> 
> Most of them make some sense to me, but not many make a real difference.  The
> most important ones should be bdrv_drain* and bdrv_flush, and can be taken 
> care
> of from caller side.

Even just bdrv_drain*.  bdrv_flush is okay with incoming requests, it
should be handled in the caller side.

Paolo

Reply via email to