• Sage Weil's avatar
    libceph: fix msgr backoff · 60bf8bf8
    Sage Weil authored
    With commit f363e45f we replaced a bunch of hacky workqueue mutual
    exclusion logic with the WQ_NON_REENTRANT flag.  One pieces of fallout is
    that the exponential backoff breaks in certain cases:
    
     * con_work attempts to connect.
     * we get an immediate failure, and the socket state change handler queues
       immediate work.
     * con_work calls con_fault, we decide to back off, but can't queue delayed
       work.
    
    In this case, we add a BACKOFF bit to make con_work reschedule delayed work
    next time it runs (which should be immediately).
    Signed-off-by: default avatarSage Weil <sage@newdream.net>
    60bf8bf8
messenger.c 59.9 KB