block/copy-before-write: use uint64_t for timeout in nanoseconds
rather than the uint32_t for which the maximum is slightly more than 4
seconds and larger values would overflow. The QAPI interface allows
specifying the number of seconds, so only values 0 to 4 are safe right
now, other values lead to a much lower timeout than a user expects.
The block_copy() call where this is used already takes a uint64_t for
the timeout, so no change required there.
Fixes: 6db7fd1ca9
("block/copy-before-write: implement cbw-timeout option")
Reported-by: Friedrich Weber <f.weber@proxmox.com>
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Message-ID: <20240429141934.442154-1-f.ebner@proxmox.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
365911b182
commit
10b1e09ed3
@ -43,7 +43,7 @@ typedef struct BDRVCopyBeforeWriteState {
|
|||||||
BlockCopyState *bcs;
|
BlockCopyState *bcs;
|
||||||
BdrvChild *target;
|
BdrvChild *target;
|
||||||
OnCbwError on_cbw_error;
|
OnCbwError on_cbw_error;
|
||||||
uint32_t cbw_timeout_ns;
|
uint64_t cbw_timeout_ns;
|
||||||
bool discard_source;
|
bool discard_source;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user