diff options
| author | Greg Kurz | 2016-10-17 14:13:58 +0200 |
|---|---|---|
| committer | Greg Kurz | 2016-10-17 14:13:58 +0200 |
| commit | f74e27bf0f07425aba6cb812aa7f5aa98bb68542 (patch) | |
| tree | f1517f5ea21a08ba1e052b5e2bcac08d7a117d1b /scripts/modules | |
| parent | 9pfs: drop useless check in pdu_free() (diff) | |
| download | qemu-f74e27bf0f07425aba6cb812aa7f5aa98bb68542.tar.gz qemu-f74e27bf0f07425aba6cb812aa7f5aa98bb68542.tar.xz qemu-f74e27bf0f07425aba6cb812aa7f5aa98bb68542.zip | |
9pfs: only free completed request if not flushed
If a PDU has a flush request pending, the current code calls pdu_free()
twice:
1) pdu_complete()->pdu_free() with pdu->cancelled set, which does nothing
2) v9fs_flush()->pdu_free() with pdu->cancelled cleared, which moves the
PDU back to the free list.
This works but it complexifies the logic of pdu_free().
With this patch, pdu_complete() only calls pdu_free() if no flush request
is pending, i.e. qemu_co_queue_next() returns false.
Since pdu_free() is now supposed to be called with pdu->cancelled cleared,
the check in pdu_free() is dropped and replaced by an assertion.
Signed-off-by: Greg Kurz <groug@kaod.org>
Diffstat (limited to 'scripts/modules')
0 files changed, 0 insertions, 0 deletions
