[PATCH v2 15/17] virfdstream: Emulate skip for block devices
Peter Krempa
pkrempa at redhat.com
Thu Aug 20 12:00:03 UTC 2020
On Tue, Jul 07, 2020 at 21:46:33 +0200, Michal Privoznik wrote:
> This is similar to one of previous patches.
>
> When receiving stream (on virStorageVolUpload() and subsequent
> virStreamSparseSendAll()) we may receive a hole. If the volume we
> are saving the incoming data into is a regular file we just
> lseek() and ftruncate() to create the hole. But this won't work
> if the file is a block device. If that is the case we must write
> zeroes so that any subsequent reader reads nothing just zeroes
> (just like they would from a hole in a regular file).
>
> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1852528
>
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
> src/util/virfdstream.c | 59 +++++++++++++++++++++++++++++++-----------
> 1 file changed, 44 insertions(+), 15 deletions(-)
Reviewed-by: Peter Krempa <pkrempa at redhat.com>
More information about the libvir-list
mailing list