• Josef Bacik's avatar
    nbd: don't requeue the same request twice. · d7d94d48
    Josef Bacik authored
    We can race with the snd timeout and the per-request timeout and end up
    requeuing the same request twice.  We can't use the send_complete
    completion to tell if everything is ok because we hold the tx_lock
    during send, so the timeout stuff will block waiting to mark the socket
    dead, and we could be marked complete and still requeue.  Instead add a
    flag to the socket so we know whether we've been requeued yet.
    Signed-off-by: default avatarJosef Bacik <josef@toxicpanda.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    d7d94d48
nbd.c 55.1 KB