mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
block: Add flags to BlockDriver.bdrv_co_truncate()
This adds a new BdrvRequestFlags parameter to the .bdrv_co_truncate() driver callbacks, and a supported_truncate_flags field in BlockDriverState that allows drivers to advertise support for request flags in the context of truncate. For now, we always pass 0 and no drivers declare support for any flag. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: Alberto Garcia <berto@igalia.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Message-Id: <20200424125448.63318-2-kwolf@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
3fb6108707
commit
92b92799dc
15 changed files with 33 additions and 13 deletions
|
@ -355,7 +355,7 @@ struct BlockDriver {
|
|||
*/
|
||||
int coroutine_fn (*bdrv_co_truncate)(BlockDriverState *bs, int64_t offset,
|
||||
bool exact, PreallocMode prealloc,
|
||||
Error **errp);
|
||||
BdrvRequestFlags flags, Error **errp);
|
||||
|
||||
int64_t (*bdrv_getlength)(BlockDriverState *bs);
|
||||
bool has_variable_length;
|
||||
|
@ -847,6 +847,14 @@ struct BlockDriverState {
|
|||
/* Flags honored during pwrite_zeroes (so far: BDRV_REQ_FUA,
|
||||
* BDRV_REQ_MAY_UNMAP, BDRV_REQ_WRITE_UNCHANGED) */
|
||||
unsigned int supported_zero_flags;
|
||||
/*
|
||||
* Flags honoured during truncate (so far: BDRV_REQ_ZERO_WRITE).
|
||||
*
|
||||
* If BDRV_REQ_ZERO_WRITE is given, the truncate operation must make sure
|
||||
* that any added space reads as all zeros. If this can't be guaranteed,
|
||||
* the operation must fail.
|
||||
*/
|
||||
unsigned int supported_truncate_flags;
|
||||
|
||||
/* the following member gives a name to every node on the bs graph. */
|
||||
char node_name[32];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue