]> git.karo-electronics.de Git - linux-beck.git/commit
drbd: Fix state change in case of connection timeout
authorPhilipp Reisner <philipp.reisner@linbit.com>
Mon, 10 Nov 2014 16:21:14 +0000 (17:21 +0100)
committerJens Axboe <axboe@fb.com>
Mon, 10 Nov 2014 16:27:41 +0000 (09:27 -0700)
commit9581f97a687724ea41cf2e145dda4751161198c1
tree64bcd8625412df63a422f0671a81e0f50d211319
parent3b9d35d744bb5139f9fed57f38c019bb8c7d351c
drbd: Fix state change in case of connection timeout

A connection timeout affects all volumes of a resource!
Under the following conditions:

 A resource with multiple volumes
  AND
 ko-count >=1
  AND
 a write request triggers the timeout (ko-count * timeout)

DRBD's internal state gets confused. That in turn may
lead to very miss leading follow up failures. E.g.
"BUG: scheduling while atomic"

CC: stable@kernel.org # v3.17
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/block/drbd/drbd_req.c