• Lars Ellenberg's avatar
    drbd: fix potential distributed deadlock · 53ea4331
    Lars Ellenberg authored
    We limit ourselves to a configurable maximum number of pages used as
    temporary bio pages.
    
    If the configured "max_buffers" is not big enough to match the bandwidth
    of the respective deployment, a distributed deadlock could be triggered
    by e.g. fast online verify and heavy application IO.
    
    TCP connections would block on congestion, because both receivers
    would wait on pages to become available.
    
    Fortunately the respective senders in this case would be able to give
    back some pages already. So do that.
    Signed-off-by: default avatarPhilipp Reisner <philipp.reisner@linbit.com>
    Signed-off-by: default avatarLars Ellenberg <lars.ellenberg@linbit.com>
    53ea4331
drbd_worker.c 46.1 KB