Hi Roman,

On Mon, Feb 16, 2026, 19:32 Roman Bogorodskiy <bogorodskiy@gmail.com> 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

I see these are Perl scripts. Can you run the tests in verboden mode? ("prove --verbose") That should provide an indication of the point in the test where the error occurs



Is that something obvious or further debug information is necessary?

Thanks,
Roman


Bye,

Erik.

http://efficito.com -- Hosted accounting and ERP.
Robust and Flexible. No vendor lock-in.