• G
    9pfs: fix multiple flush for same request · 18adde86
    Greg Kurz 提交于
    If a client tries to flush the same outstanding request several times, only
    the first flush completes. Subsequent ones keep waiting for the request
    completion in v9fs_flush() and, therefore, leak a PDU. This will cause QEMU
    to hang when draining active PDUs the next time the device is reset.
    
    Let have each flush request wake up the next one if any. The last waiter
    frees the cancelled PDU.
    Signed-off-by: NGreg Kurz <groug@kaod.org>
    Reviewed-by: NEric Blake <eblake@redhat.com>
    18adde86
9p.c 92.6 KB