]> git.baikalelectronics.ru Git - kernel.git/commit
drbd: differentiate between normal and forced detach
authorLars Ellenberg <lars.ellenberg@linbit.com>
Thu, 14 Jun 2012 12:21:32 +0000 (14:21 +0200)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Tue, 24 Jul 2012 12:06:18 +0000 (14:06 +0200)
commit1efd277e6f478552b434277668c74dfc936954db
tree170c3c95c12bd0a3e6cca0b7d13a4c4cc91f040e
parent08630321bc1670cc0e9d005d985e24ec970a0c17
drbd: differentiate between normal and forced detach

Aborting local requests (not waiting for completion from the lower level
disk) is dangerous: if the master bio has been completed to upper
layers, data pages may be re-used for other things already.
If local IO is still pending and later completes,
this may cause crashes or corrupt unrelated data.

Only abort local IO if explicitly requested.
Intended use case is a lower level device that turned into a tarpit,
not completing io requests, not even doing error completion.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
drivers/block/drbd/drbd_actlog.c
drivers/block/drbd/drbd_bitmap.c
drivers/block/drbd/drbd_int.h
drivers/block/drbd/drbd_main.c
drivers/block/drbd/drbd_nl.c
drivers/block/drbd/drbd_req.c
drivers/block/drbd/drbd_worker.c