]> git.ipfire.org Git - thirdparty/qemu.git/commit
aio-posix: don't duplicate fd handler deletion in fdmon_io_uring_destroy()
authorStefan Hajnoczi <stefanha@redhat.com>
Mon, 11 May 2020 18:36:29 +0000 (19:36 +0100)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Tue, 25 Aug 2020 19:30:07 +0000 (14:30 -0500)
commit5145f2471caa4ef58e200e151f736e633a5fb1ac
tree1caedc4e22292c6637ae15baeb01e8af2eda2856
parent458ae56d22a78d84135fd5dfe8e837be83d74ce9
aio-posix: don't duplicate fd handler deletion in fdmon_io_uring_destroy()

The io_uring file descriptor monitoring implementation has an internal
list of fd handlers that are pending submission to io_uring.
fdmon_io_uring_destroy() deletes all fd handlers on the list.

Don't delete fd handlers directly in fdmon_io_uring_destroy() for two
reasons:
1. This duplicates the aio-posix.c AioHandler deletion code and could
   become outdated if the struct changes.
2. Only handlers with the FDMON_IO_URING_REMOVE flag set are safe to
   remove. If the flag is not set then something still has a pointer to
   the fd handler. Let aio-posix.c and its user worry about that. In
   practice this isn't an issue because fdmon_io_uring_destroy() is only
   called when shutting down so all users have removed their fd
   handlers, but the next patch will need this!

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Tested-by: Oleksandr Natalenko <oleksandr@redhat.com>
Message-id: 20200511183630.279750-2-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit de137e44f75d9868f5b548638081850f6ac771f2)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
util/aio-posix.c
util/fdmon-io_uring.c