Hi, http://lists.nongnu.org/archive/html/qemu-block/2019-05/msg00569.html shows that optimizations affect HDDs and SSDs differently. It would be nice if we could differentiate between the two and then choose to adjust our behavior depending on whether a given image is stored on an HDD or not.
Or maybe it isn’t so nice. That’s one reason this is an RFC. The other is that I implemented recognition of the rotational status by querying sysfs. That looks stupid, but I didn’t find a better way (there is a BLKROTATIONAL ioctl, but that only works on device files). But, hey, if you look through block/file-posix.c, you’ll find that I’m not the first to query sysfs. hdev_get_max_segments() does so, too. So maybe it isn’t that bad of an idea. What do you think? Is the whole idea stupid? Just the implementation? Or does it make sense? Max Reitz (3): block: Add ImageRotationalInfo file-posix: Inquire rotational status qcow2: Evaluate rotational info qapi/block-core.json | 19 ++++++++++- block/qcow2.h | 3 ++ include/block/block.h | 7 +++++ block.c | 20 +++++++++++- block/file-posix.c | 73 +++++++++++++++++++++++++++++++++++++++++++ block/qapi.c | 3 ++ block/qcow2.c | 34 +++++++++++++++++--- 7 files changed, 153 insertions(+), 6 deletions(-) -- 2.21.0