• Lars Ellenberg's avatar
    drbd: serialize sending of resync uuid with pending w_send_oos · 5a22db89
    Lars Ellenberg authored
    To improve the latency of IO requests during bitmap exchange,
    we recently allowed writes while waiting for the bitmap, sending "set
    out-of-sync" information packets for any newly dirtied bits.
    
    We have to make sure that the new resync-uuid does not overtake
    these "set oos" packets. Once the resync-uuid is received, the
    sync target starts the resync process, and expects the bitmap to
    only be cleared, not re-set.
    
    If we use this protocol extension, we queue the generation and sending
    of the resync-uuid on the worker, which naturally serializes with all
    previously queued packets.
    Signed-off-by: default avatarPhilipp Reisner <philipp.reisner@linbit.com>
    Signed-off-by: default avatarLars Ellenberg <lars.ellenberg@linbit.com>
    5a22db89
drbd_worker.c 45.2 KB