• Benjamin Marzinski's avatar
    dm io: don't call the async_io notify.fn on invalid num_regions · b0042ba7
    Benjamin Marzinski authored
    If dm_io() returned an error, callers that set a notify.fn and wanted it
    called on an error need to check the return value and call notify.fn
    themselves if it was -EINVAL but not if it was -EIO. None of them do
    this (granted, all the existing async_io users of dm_io call it in a way
    that is guaranteed to not return an error).
    
    Simplify the interface by never calling the notify.fn if dm_io returns
    an error. This works with the existing dm_io callers which check for an
    error and handle it using the same methods as the notify.fn.
    
    This also allows us to move the now equivalent num_regions checks out of
    sync_io() and async_io() and into dm_io() itself. Additionally, change
    async_io() into a void function, since it can no longer fail.
    Signed-off-by: default avatarBenjamin Marzinski <bmarzins@redhat.com>
    Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
    b0042ba7
dm-io.c 13 KB