Commit a1abf40d authored by Gonglei's avatar Gonglei Committed by Stefan Hajnoczi
Browse files

linux-aio: Fix laio resource leak



when hotplug virtio-scsi disks using laio, the aio_nr will
increase in laio_init() by io_setup(), we can see the number by
  # cat /proc/sys/fs/aio-nr
  128
if the aio_nr attach the maxnum, which found from
  # cat /proc/sys/fs/aio-max-nr
  65536
the hotplug process will fail because of aio context leak.

Fix it by io_destroy in laio_cleanup().

Reported-by: default avatardaifulai <daifulai@huawei.com>
Signed-off-by: default avatarGonglei <arei.gonglei@huawei.com>
Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
parent 7a6d04e7
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -310,5 +310,10 @@ void laio_cleanup(void *s_)
    struct qemu_laio_state *s = s_;

    event_notifier_cleanup(&s->e);

    if (io_destroy(s->ctx) != 0) {
        fprintf(stderr, "%s: destroy AIO context %p failed\n",
                        __func__, &s->ctx);
    }
    g_free(s);
}