Files
linux/drivers
Lars Ellenberg 009ba89db5 drbd: fix schedule in atomic
An administrative detach used to request a state change directly to D_DISKLESS,
first suspending IO to avoid the last put_ldev() occuring from an endio handler,
potentially in irq context.

This is not enough on the receiving side (typically secondary), we may miss
some peer_req on the way to local disk, which then may do the last put_ldev()
from their drbd_peer_request_endio().

This patch makes the detach always go through the intermediate D_FAILED state.
We may consider to rename it D_DETACHING.

Alternative approach would be to create yet an other work item to be scheduled
on the worker, do the destructor work from there, and get the timing right.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
2012-11-08 16:53:01 +01:00
..
2011-08-05 22:16:42 -04:00
2011-07-26 16:49:47 -07:00
2012-11-08 16:53:01 +01:00
2011-07-28 01:30:07 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-07-22 14:39:51 +09:30
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-07-25 21:00:19 -07:00
2011-08-03 16:44:21 +02:00
2011-07-26 16:49:47 -07:00
2011-08-07 15:51:45 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00