aboutsummaryrefslogtreecommitdiff
path: root/hw/9pfs/9p-xattr.c
diff options
context:
space:
mode:
authorGreg Kurz <groug@kaod.org>2016-10-17 14:13:58 +0200
committerGreg Kurz <groug@kaod.org>2016-10-17 14:13:58 +0200
commitf74e27bf0f07425aba6cb812aa7f5aa98bb68542 (patch)
treef1517f5ea21a08ba1e052b5e2bcac08d7a117d1b /hw/9pfs/9p-xattr.c
parent6868a420c519d74926ea814d48f6ce9beda35b98 (diff)
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 'hw/9pfs/9p-xattr.c')
0 files changed, 0 insertions, 0 deletions