• Lars Ellenberg's avatar
    drbd: fix potential imbalance of ap_in_flight · e636db5b
    Lars Ellenberg authored
    When we receive a barrier ack, we walk the ring list of drbd requests
    in the transfer log of the respective epoch, do some housekeeping,
    and free those objects.
    
    We tried to keep epochs of mirrored and unmirrored drbd requests
    separate, and assert that no local-only requests are present in a
    barrier_acked epoch.
    
    It turns out that this has quite a number of corner cases and would
    add bloated code without functional benefit.
    
    We now revert the (insufficient) commits
     drbd: Fixed an issue with AHEAD -> SYNC_SOURCE transitions
     drbd: Ensure that an epoch contains only requests of one kind
    and instead fix the processing of barrier acks to cope with
    a mix of local-only and mirrored requests.
    Signed-off-by: default avatarPhilipp Reisner <philipp.reisner@linbit.com>
    Signed-off-by: default avatarLars Ellenberg <lars.ellenberg@linbit.com>
    e636db5b
drbd_main.c 114 KB