diff options
Diffstat (limited to 'disk/raw.c')
-rw-r--r-- | disk/raw.c | 39 |
1 files changed, 6 insertions, 33 deletions
@@ -2,38 +2,17 @@ #include <linux/err.h> -#ifdef CONFIG_HAS_AIO -#include <libaio.h> -#endif - -ssize_t raw_image__read(struct disk_image *disk, u64 sector, const struct iovec *iov, +ssize_t raw_image__read_sync(struct disk_image *disk, u64 sector, const struct iovec *iov, int iovcount, void *param) { - u64 offset = sector << SECTOR_SHIFT; - -#ifdef CONFIG_HAS_AIO - struct iocb iocb; - - return aio_preadv(disk->ctx, &iocb, disk->fd, iov, iovcount, offset, - disk->evt, param); -#else - return preadv_in_full(disk->fd, iov, iovcount, offset); -#endif + return preadv_in_full(disk->fd, iov, iovcount, sector << SECTOR_SHIFT); } -ssize_t raw_image__write(struct disk_image *disk, u64 sector, const struct iovec *iov, - int iovcount, void *param) +ssize_t raw_image__write_sync(struct disk_image *disk, u64 sector, + const struct iovec *iov, int iovcount, + void *param) { - u64 offset = sector << SECTOR_SHIFT; - -#ifdef CONFIG_HAS_AIO - struct iocb iocb; - - return aio_pwritev(disk->ctx, &iocb, disk->fd, iov, iovcount, offset, - disk->evt, param); -#else - return pwritev_in_full(disk->fd, iov, iovcount, offset); -#endif + return pwritev_in_full(disk->fd, iov, iovcount, sector << SECTOR_SHIFT); } ssize_t raw_image__read_mmap(struct disk_image *disk, u64 sector, const struct iovec *iov, @@ -79,12 +58,6 @@ int raw_image__close(struct disk_image *disk) if (disk->priv != MAP_FAILED) ret = munmap(disk->priv, disk->size); - close(disk->evt); - -#ifdef CONFIG_HAS_VIRTIO - io_destroy(disk->ctx); -#endif - return ret; } |