diff options
author | Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> | 2019-07-25 13:05:48 +0300 |
---|---|---|
committer | Eric Blake <eblake@redhat.com> | 2019-08-15 13:22:13 -0500 |
commit | 3299e5ecf7e1c9443189e50c949d97e536022c59 (patch) | |
tree | 52a4758697875f4e52730b680a826a5a210ad931 /include/block | |
parent | aec21d31756cbda4ad1d0fc5c60797d2c1eecf33 (diff) |
block: implement BDRV_REQ_PREFETCH
Do effective copy-on-read request when we don't need data actually. It
will be used for block-stream and NBD_CMD_CACHE.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20190725100550.33801-2-vsementsov@virtuozzo.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
[eblake: comment grammar fix]
Signed-off-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'include/block')
-rw-r--r-- | include/block/block.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/block/block.h b/include/block/block.h index 50a07c1c33..a9df34ff94 100644 --- a/include/block/block.h +++ b/include/block/block.h @@ -88,8 +88,14 @@ typedef enum { * fallback. */ BDRV_REQ_NO_FALLBACK = 0x100, + /* + * BDRV_REQ_PREFETCH may be used only together with BDRV_REQ_COPY_ON_READ + * on read request and means that caller doesn't really need data to be + * written to qiov parameter which may be NULL. + */ + BDRV_REQ_PREFETCH = 0x200, /* Mask of valid flags */ - BDRV_REQ_MASK = 0x1ff, + BDRV_REQ_MASK = 0x3ff, } BdrvRequestFlags; typedef struct BlockSizes { |