nbd: handle single path failures gracefully
authorJosef Bacik <josef@toxicpanda.com>
Thu, 6 Apr 2017 21:01:57 +0000 (17:01 -0400)
committerJens Axboe <axboe@fb.com>
Mon, 17 Apr 2017 15:58:42 +0000 (09:58 -0600)
commitf3733247ae7c5fc0fa4c7303438f9e18a6ebb5ec
tree4742034116698892b2da029876df3342372531f4
parent9b1355d5e3f094ef671033f38c4357cd1455c571
nbd: handle single path failures gracefully

Currently if we have multiple connections and one of them goes down we will tear
down the whole device.  However there's no reason we need to do this as we
could have other connections that are working fine.  Deal with this by keeping
track of the state of the different connections, and if we lose one we mark it
as dead and send all IO destined for that socket to one of the other healthy
sockets.  Any outstanding requests that were on the dead socket will timeout and
be re-submitted properly.

Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/block/nbd.c