Revision baf35cb9 block.c
b/block.c | ||
---|---|---|
1280 | 1280 |
BlockDriverAIOCB *acb; |
1281 | 1281 |
|
1282 | 1282 |
async_ret = NOT_DONE; |
1283 |
qemu_aio_wait_start(); |
|
1284 | 1283 |
acb = bdrv_aio_read(bs, sector_num, buf, nb_sectors, |
1285 | 1284 |
bdrv_rw_em_cb, &async_ret); |
1286 |
if (acb == NULL) { |
|
1287 |
qemu_aio_wait_end(); |
|
1285 |
if (acb == NULL) |
|
1288 | 1286 |
return -1; |
1289 |
} |
|
1287 |
|
|
1290 | 1288 |
while (async_ret == NOT_DONE) { |
1291 | 1289 |
qemu_aio_wait(); |
1292 | 1290 |
} |
1293 |
qemu_aio_wait_end(); |
|
1291 |
|
|
1294 | 1292 |
return async_ret; |
1295 | 1293 |
} |
1296 | 1294 |
|
... | ... | |
1301 | 1299 |
BlockDriverAIOCB *acb; |
1302 | 1300 |
|
1303 | 1301 |
async_ret = NOT_DONE; |
1304 |
qemu_aio_wait_start(); |
|
1305 | 1302 |
acb = bdrv_aio_write(bs, sector_num, buf, nb_sectors, |
1306 | 1303 |
bdrv_rw_em_cb, &async_ret); |
1307 |
if (acb == NULL) { |
|
1308 |
qemu_aio_wait_end(); |
|
1304 |
if (acb == NULL) |
|
1309 | 1305 |
return -1; |
1310 |
} |
|
1311 | 1306 |
while (async_ret == NOT_DONE) { |
1312 | 1307 |
qemu_aio_wait(); |
1313 | 1308 |
} |
1314 |
qemu_aio_wait_end(); |
|
1315 | 1309 |
return async_ret; |
1316 | 1310 |
} |
1317 | 1311 |
|
Also available in: Unified diff