• Philipp Reisner's avatar
    drbd: Finish requests that completed while IO was frozen · 509fc019
    Philipp Reisner authored
    Requests of an acked epoch are stored on the barrier_acked_requests list. In
    case the private bio of such a request completes while IO on the drbd device
    is suspended [req_mod(completed_ok)] then the request stays there.
    
    When thawing IO because the fence_peer handler returned, then we use
    tl_clear() to apply the connection_lost_while_pending event to all requests
    on the transfer-log and the barrier_acked_requests list.
    
    Up to now the connection_lost_while_pending event was not applied
    on requests on the barrier_acked_requests list. Fixed that.
    
    I.e. now the connection_lost_while_pending and resend events are
    applied to requests on the barrier_acked_requests list. For that
    it is necessary that the resend event finishes (local only)
    READS correctly.
    Signed-off-by: default avatarPhilipp Reisner <philipp.reisner@linbit.com>
    Signed-off-by: default avatarLars Ellenberg <lars.ellenberg@linbit.com>
    509fc019
drbd_req.c 40.6 KB