aboutsummaryrefslogtreecommitdiff
path: root/block/io.c
diff options
context:
space:
mode:
Diffstat (limited to 'block/io.c')
-rw-r--r--block/io.c55
1 files changed, 5 insertions, 50 deletions
diff --git a/block/io.c b/block/io.c
index 1e9bf09..0a8cbef 100644
--- a/block/io.c
+++ b/block/io.c
@@ -1046,14 +1046,6 @@ static int bdrv_check_request32(int64_t offset, int64_t bytes,
return 0;
}
-int bdrv_pwrite_zeroes(BdrvChild *child, int64_t offset,
- int64_t bytes, BdrvRequestFlags flags)
-{
- IO_CODE();
- return bdrv_pwritev(child, offset, bytes, NULL,
- BDRV_REQ_ZERO_WRITE | flags);
-}
-
/*
* Completely zero out a block device with the help of bdrv_pwrite_zeroes.
* The operation is sped up by checking the block status and only writing
@@ -1096,62 +1088,25 @@ int bdrv_make_zero(BdrvChild *child, BdrvRequestFlags flags)
}
}
-/* See bdrv_pwrite() for the return codes */
-int bdrv_pread(BdrvChild *child, int64_t offset, void *buf, int64_t bytes)
-{
- int ret;
- QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, bytes);
- IO_CODE();
-
- if (bytes < 0) {
- return -EINVAL;
- }
-
- ret = bdrv_preadv(child, offset, bytes, &qiov, 0);
-
- return ret < 0 ? ret : bytes;
-}
-
-/* Return no. of bytes on success or < 0 on error. Important errors are:
- -EIO generic I/O error (may happen for all errors)
- -ENOMEDIUM No media inserted.
- -EINVAL Invalid offset or number of bytes
- -EACCES Trying to write a read-only device
-*/
-int bdrv_pwrite(BdrvChild *child, int64_t offset, const void *buf,
- int64_t bytes)
-{
- int ret;
- QEMUIOVector qiov = QEMU_IOVEC_INIT_BUF(qiov, buf, bytes);
- IO_CODE();
-
- if (bytes < 0) {
- return -EINVAL;
- }
-
- ret = bdrv_pwritev(child, offset, bytes, &qiov, 0);
-
- return ret < 0 ? ret : bytes;
-}
-
/*
* Writes to the file and ensures that no writes are reordered across this
* request (acts as a barrier)
*
* Returns 0 on success, -errno in error cases.
*/
-int bdrv_pwrite_sync(BdrvChild *child, int64_t offset,
- const void *buf, int64_t count)
+int coroutine_fn bdrv_co_pwrite_sync(BdrvChild *child, int64_t offset,
+ int64_t bytes, const void *buf,
+ BdrvRequestFlags flags)
{
int ret;
IO_CODE();
- ret = bdrv_pwrite(child, offset, buf, count);
+ ret = bdrv_co_pwrite(child, offset, bytes, buf, flags);
if (ret < 0) {
return ret;
}
- ret = bdrv_flush(child->bs);
+ ret = bdrv_co_flush(child->bs);
if (ret < 0) {
return ret;
}