All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: quintela@redhat.com
Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org,
	Leonardo Bras <leobras@redhat.com>,
	Hailiang Zhang <zhanghailiang@xfusion.com>,
	Peter Xu <peterx@redhat.com>, Fam Zheng <fam@euphon.net>,
	Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [PATCH 04/16] qemu-file: Don't call qemu_fflush() for read only files
Date: Tue, 30 May 2023 10:14:24 -0700	[thread overview]
Message-ID: <733e16a5-39a3-3807-d951-9029e2be7298@linaro.org> (raw)
In-Reply-To: <877cspwxxp.fsf@secure.mitica>

On 5/30/23 10:06, Juan Quintela wrote:
> Richard Henderson <richard.henderson@linaro.org> wrote:
>> On 5/30/23 05:28, Juan Quintela wrote:
>>> This was the only caller for read only files.  So change the test for
>>> an assert in qemu_fflush().
>>
>>
>> Not a fan, as fflush(stdin) is well-defined.
> 
> I guess you mean this:
> 
>         For input streams associated with seekable files (e.g., disk files, but
>         not pipes or terminals), fflush() discards any buffered data  that  has
>         been fetched from the underlying file, but has not been consumed by the
>         application.

Yes, in that, importantly, it does not assert.

> 
> Two things:
> - Current code just do nothing for imput streams
> - We only call it from qemu_fclose()

Pardon?  There are nearly 30 calls to qemu_fflush.

> - If we drop anything from the input stream, migration get broken.

I'm not talking about dropping anything.  Obviously QEMUFile works different from stdio, 
and therefore resetting the file state to that of the unbuffered data is not relevant.



r~


  reply	other threads:[~2023-05-30 17:15 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-30 12:27 [PATCH 00/16] Next round of migration atomic counters Juan Quintela
2023-05-30 12:27 ` [PATCH 01/16] qemu-file: Rename qemu_file_transferred_ fast -> noflush Juan Quintela
2023-05-30 12:36   ` Philippe Mathieu-Daudé
2023-05-30 12:39     ` Philippe Mathieu-Daudé
2023-05-30 12:27 ` [PATCH 02/16] migration: Change qemu_file_transferred to noflush Juan Quintela
2023-05-30 12:37   ` Philippe Mathieu-Daudé
2023-05-30 12:28 ` [PATCH 03/16] migration: Use qemu_file_transferred_noflush() for block migration Juan Quintela
2023-05-30 13:45   ` Fabiano Rosas
2023-05-30 12:28 ` [PATCH 04/16] qemu-file: Don't call qemu_fflush() for read only files Juan Quintela
2023-05-30 14:06   ` Fabiano Rosas
2023-05-30 17:01   ` Richard Henderson
2023-05-30 17:06     ` Juan Quintela
2023-05-30 17:14       ` Richard Henderson [this message]
2023-05-30 17:26         ` Juan Quintela
2023-05-30 17:36   ` Juan Quintela
2023-05-30 12:28 ` [PATCH 05/16] qemu-file: We only call qemu_file_transferred_* on the sending side Juan Quintela
2023-05-30 12:28 ` [PATCH 06/16] qemu_file: Use a stat64 for qemu_file_transferred Juan Quintela
2023-05-30 12:28 ` [PATCH 07/16] qemu_file: total_transferred is not used anymore Juan Quintela
2023-05-30 12:28 ` [PATCH 08/16] migration: Use the number of transferred bytes directly Juan Quintela
2023-05-30 12:28 ` [PATCH 09/16] qemu_file: Remove unused qemu_file_transferred() Juan Quintela
2023-05-30 12:28 ` [PATCH 10/16] qemu-file: Remove _noflush from qemu_file_transferred_noflush() Juan Quintela
2023-05-30 13:10   ` Fabiano Rosas
2023-05-30 17:57     ` Juan Quintela
2023-05-30 12:28 ` [PATCH 11/16] migration: migration_transferred_bytes() don't need the QEMUFile Juan Quintela
2023-05-30 12:34   ` Philippe Mathieu-Daudé
2023-05-30 12:28 ` [PATCH 12/16] migration: migration_rate_limit_reset() " Juan Quintela
2023-05-30 12:34   ` Philippe Mathieu-Daudé
2023-05-30 12:28 ` [PATCH 13/16] qemu-file: Simplify qemu_file_get_error() Juan Quintela
2023-05-30 13:41   ` Fabiano Rosas
2023-05-30 12:28 ` [PATCH 14/16] migration: Use migration_transferred_bytes() Juan Quintela
2023-05-30 12:28 ` [PATCH 15/16] migration: Remove transferred atomic counter Juan Quintela
2023-05-30 12:28 ` [PATCH 16/16] qemu-file: Make qemu_fflush() return errors Juan Quintela
2023-05-30 12:41   ` Philippe Mathieu-Daudé
2023-05-30 12:40 ` [PATCH 00/16] Next round of migration atomic counters Juan Quintela

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=733e16a5-39a3-3807-d951-9029e2be7298@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=fam@euphon.net \
    --cc=leobras@redhat.com \
    --cc=peterx@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=stefanha@redhat.com \
    --cc=zhanghailiang@xfusion.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.