diff options
author | Jean-Philippe Brucker <jean-philippe.brucker@arm.com> | 2022-06-07 18:02:30 +0100 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2022-06-09 13:44:15 +0100 |
commit | 484278913807e4e3523eff1b9933c7e86a27b6d2 (patch) | |
tree | e15bbb61baea221b655b13c2bc24b02772f3a13a /include | |
parent | e74b56e1495cce0c6a09d340c210f74266e755f8 (diff) | |
download | kvmtool-484278913807e4e3523eff1b9933c7e86a27b6d2.tar.gz |
virtio/blk: Implement VIRTIO_F_ANY_LAYOUT feature
The current virtio-block implementation assumes that buffers have a
specific layout (5.2.6.4 "Legacy Interface: Framing Requirements").
Modern virtio removes this layout constraint, so we have to be careful
when reading buffers. Note that since the Linux driver uses the same
layout as the legacy transport, arbitrary layouts were not actually
tested.
Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Link: https://lore.kernel.org/r/20220607170239.120084-16-jean-philippe.brucker@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/kvm/disk-image.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/kvm/disk-image.h b/include/kvm/disk-image.h index 27d4f7da..b2123838 100644 --- a/include/kvm/disk-image.h +++ b/include/kvm/disk-image.h @@ -88,7 +88,8 @@ ssize_t disk_image__read(struct disk_image *disk, u64 sector, const struct iovec int iovcount, void *param); ssize_t disk_image__write(struct disk_image *disk, u64 sector, const struct iovec *iov, int iovcount, void *param); -ssize_t disk_image__get_serial(struct disk_image *disk, void *buffer, ssize_t *len); +ssize_t disk_image__get_serial(struct disk_image *disk, struct iovec *iov, + int iovcount, ssize_t len); struct disk_image *raw_image__probe(int fd, struct stat *st, bool readonly); struct disk_image *blkdev__probe(const char *filename, int flags, struct stat *st); |