summary refs log tree commit diff stats
path: root/include
diff options
context:
space:
mode:
authorAndrey Shinkevich <andrey.shinkevich@virtuozzo.com>2020-12-16 09:16:57 +0300
committerMax Reitz <mreitz@redhat.com>2021-01-26 14:36:37 +0100
commit897dd0ec4fdea4e6fa7674729750d05acc1bf41e (patch)
treef374693f0fa8f3d446c9952b41954f7c73db2ae2 /include
parentb6e0985a4c48eb4f5ed115759bc816322942f39c (diff)
downloadfocaccia-qemu-897dd0ec4fdea4e6fa7674729750d05acc1bf41e.tar.gz
focaccia-qemu-897dd0ec4fdea4e6fa7674729750d05acc1bf41e.zip
block: include supported_read_flags into BDS structure
Add the new member supported_read_flags to the BlockDriverState
structure. It will control the flags set for copy-on-read operations.
Make the block generic layer evaluate supported read flags before they
go to a block driver.

Suggested-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Signed-off-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
 [vsementsov: use assert instead of abort]
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20201216061703.70908-8-vsementsov@virtuozzo.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/block/block_int.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/block/block_int.h b/include/block/block_int.h
index f3d0a0e60a..92d3754ead 100644
--- a/include/block/block_int.h
+++ b/include/block/block_int.h
@@ -881,6 +881,10 @@ struct BlockDriverState {
     /* I/O Limits */
     BlockLimits bl;
 
+    /*
+     * Flags honored during pread
+     */
+    unsigned int supported_read_flags;
     /* Flags honored during pwrite (so far: BDRV_REQ_FUA,
      * BDRV_REQ_WRITE_UNCHANGED).
      * If a driver does not support BDRV_REQ_WRITE_UNCHANGED, those