]> git.baikalelectronics.ru Git - kernel.git/commit
drbd: drbd_panic_after_delayed_completion_of_aborted_request()
authorLars Ellenberg <lars.ellenberg@linbit.com>
Thu, 19 Feb 2015 12:48:59 +0000 (13:48 +0100)
committerJens Axboe <axboe@fb.com>
Wed, 25 Nov 2015 16:22:01 +0000 (09:22 -0700)
commitba323bf4f1579be0d4c53ce7c620661dc8f31f65
treeabae7ef0ce851a18d02a291ba3b3298ee8e19a65
parentd997727667ae7586492b8499b7f34bf5f9c2897e
drbd: drbd_panic_after_delayed_completion_of_aborted_request()

The only way to make DRBD intentionally call panic is to
set a disk timeout, have that trigger, "abort" some request and complete
to upper layers, then have the backend IO subsystem later complete these
requests successfully regardless.

As the attached IO pages have been recycled for other purposes
meanwhile, this will cause unexpected random memory changes.
To prevent corruption, we rather panic in that case.

Make it obvious from stack traces that this was the case by introducing
drbd_panic_after_delayed_completion_of_aborted_request().

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_worker.c