Lars Ellenberg 7ee1fb93f3 drbd: flush drbd work queue before invalidate/invalidate remote
If you do back to back wait-sync/invalidate on a Primary in a tight loop,
during application IO load, you could trigger a race:
  kernel: block drbd6: FIXME going to queue 'set_n_write from StartingSync'
	but 'write from resync_finished' still pending?

Fix this by changing the order of the drbd_queue_work() and
the wake_up() in dec_ap_pending(), and adding the additional
drbd_flush_workqueue() before requesting the full sync.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
2012-07-24 14:15:58 +02:00
..
2012-05-26 12:22:27 -07:00
2012-06-20 14:39:36 -07:00
2012-05-24 16:22:53 -04:00
2012-05-26 12:42:29 -07:00
2012-05-23 14:07:06 -07:00
2012-07-16 09:20:33 -07:00
2012-05-22 16:02:13 -07:00
2012-07-04 15:55:19 +08:00
2012-07-13 09:56:26 -07:00
2012-07-11 12:44:25 -07:00
2012-05-22 16:02:13 -07:00
2012-05-16 12:46:37 -04:00
2012-07-10 19:16:25 +10:00
2012-07-13 09:54:26 -07:00
2012-07-11 16:17:14 -07:00
2012-05-26 12:42:29 -07:00
2012-06-15 17:17:15 -07:00
2012-05-22 16:34:21 -07:00
2012-05-26 12:22:27 -07:00