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 <ehuels@gmail.com> --- 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 :|