Skip to content
  • Stefan Hajnoczi's avatar
    de137e44
    aio-posix: don't duplicate fd handler deletion in fdmon_io_uring_destroy() · de137e44
    Stefan Hajnoczi authored
    
    
    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: default avatarStefan Hajnoczi <stefanha@redhat.com>
    Tested-by: default avatarOleksandr Natalenko <oleksandr@redhat.com>
    Message-id: 20200511183630.279750-2-stefanha@redhat.com
    Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
    de137e44
    aio-posix: don't duplicate fd handler deletion in fdmon_io_uring_destroy()
    Stefan Hajnoczi authored
    
    
    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: default avatarStefan Hajnoczi <stefanha@redhat.com>
    Tested-by: default avatarOleksandr Natalenko <oleksandr@redhat.com>
    Message-id: 20200511183630.279750-2-stefanha@redhat.com
    Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
Loading