On Mon, Feb 16, 2026 at 07:31:16PM +0100, Roman Bogorodskiy wrote:
>   Erik Huelsmann wrote:
> 
> > Before this change, buffers returned from virFDStreamRead() would
> > alternate in size (262120 and 24), because it only consumed the
> > bytes remaining from the current background thread message.
> > 
> > As the background thread reads 262144 bytes (256kB) of data in
> > each chunk, where the maximum size returned from virFDStreamRead()
> > to be transferred over the remote protocol is only 262120, 24 bytes
> > would be left in the buffer on each iteration. The next iteration
> > leaves 24 bytes, which used to be returned without considering
> > messages waiting in the queue.
> > 
> > Signed-off-by: Erik Huelsmann <[email protected]>
> > ---
> >  src/util/virfdstream.c | 26 +++++++++++++++++---------
> >  1 file changed, 17 insertions(+), 9 deletions(-)
> 
> Hi,
> 
> I noticed that with this change libvirt-tck tests started failing for
> me on FreeBSD:
> 
>     ../scripts/storage/400-vol-download.t
>     ../scripts/storage/405-vol-download-all.t
>     ../scripts/storage/410-vol-download-nonblock.t
> 
> Things get back to normal when I revert this commit.
> 
> The only thing I see in the log is:
> 
> 2026-02-16 18:04:27.505+0000: 75802027180048: error : virFDStreamRead:921 : 
> stream is not open: Bad file descriptor
> 
> Is that something obvious or further debug information is necessary?

I didn't see the TCK fail, but I did strangely see that new error
message. After poking it a bit I think I found the root cause and
have CC'd you both on a patch.

With regards,
Daniel
-- 
|: https://berrange.com       ~~        https://hachyderm.io/@berrange :|
|: https://libvirt.org          ~~          https://entangle-photo.org :|
|: https://pixelfed.art/berrange   ~~    https://fstop138.berrange.com :|

Reply via email to