This is duplicated twice for read/write operations. Unify it, and move it close to the code that adds bdrv_flush.
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> --- block.c | 16 ++++++++-------- 1 files changed, 8 insertions(+), 8 deletions(-) diff --git a/block.c b/block.c index ce35dce..394ecaf 100644 --- a/block.c +++ b/block.c @@ -189,26 +189,26 @@ void bdrv_register(BlockDriver *bdrv) /* Emulate AIO by coroutines, and sync by AIO */ bdrv->bdrv_aio_readv = bdrv_co_aio_readv_em; bdrv->bdrv_aio_writev = bdrv_co_aio_writev_em; - bdrv->bdrv_read = bdrv_read_em; - bdrv->bdrv_write = bdrv_write_em; } else { bdrv->bdrv_co_readv = bdrv_co_readv_em; bdrv->bdrv_co_writev = bdrv_co_writev_em; - if (!bdrv->bdrv_aio_readv) { /* add AIO emulation layer */ bdrv->bdrv_aio_readv = bdrv_aio_readv_em; bdrv->bdrv_aio_writev = bdrv_aio_writev_em; - } else if (!bdrv->bdrv_read) { - /* add synchronous IO emulation layer */ - bdrv->bdrv_read = bdrv_read_em; - bdrv->bdrv_write = bdrv_write_em; } } if (!bdrv->bdrv_aio_flush) { bdrv->bdrv_aio_flush = bdrv_aio_flush_em; - } else if (!bdrv->bdrv_flush) { + } + + /* add synchronous IO emulation layer */ + if (!bdrv->bdrv_read) { + bdrv->bdrv_read = bdrv_read_em; + bdrv->bdrv_write = bdrv_write_em; + } + if (!bdrv->bdrv_flush) { bdrv->bdrv_flush = bdrv_flush_em; } -- 1.7.6