android_kernel_motorola_sm6225/drivers/block/drbd
Lars Ellenberg 0e8488ade2 drbd: allow bitmap to change during writeout from resync_finished
Symptom: messages similar to
 "FIXME asender in bm_change_bits_to,
  bitmap locked for 'write from resync_finished' by worker"

If a resync or verify is finished (or aborted), a full bitmap writeout
is triggered.  If we have ongoing local IO, the bitmap may still change
during that writeout, pending and not yet processed acks may cause bits
to be cleared, while new writes may cause bits to be to be set.

To fix this, introduce the drbd_bm_write_copy_pages() variant.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
2012-05-09 15:17:00 +02:00
..
drbd_actlog.c drbd: missing wakeup after drbd_rs_del_all 2012-05-09 15:16:42 +02:00
drbd_bitmap.c drbd: allow bitmap to change during writeout from resync_finished 2012-05-09 15:17:00 +02:00
drbd_int.h drbd: allow bitmap to change during writeout from resync_finished 2012-05-09 15:17:00 +02:00
drbd_main.c drbd: allow bitmap to change during writeout from resync_finished 2012-05-09 15:17:00 +02:00
drbd_nl.c drbd: fix race between drbdadm invalidate/verify and finishing resync 2012-05-09 15:16:59 +02:00
drbd_proc.c drbd: cosmetic: fix accidental division instead of modulo when pretty printing 2012-05-09 10:01:39 +02:00
drbd_receiver.c drbd: Ensure that data_size is not 0 before using data_size-1 as index 2012-05-09 15:16:56 +02:00
drbd_req.c drbd: fix resend/resubmit of frozen IO 2012-05-09 15:16:58 +02:00
drbd_req.h drbd: Immediately allow completion of IOs, that wait for IO completions on a failed disk 2012-05-09 10:16:04 +02:00
drbd_strings.c drbd: Rename enum drbd_state_ret_codes to enum drbd_state_rv 2011-03-10 11:36:18 +01:00
drbd_vli.h Fix common misspellings 2011-03-31 11:26:23 -03:00
drbd_worker.c drbd: move put_ldev from __req_mod() to the endio callback 2012-05-09 15:16:51 +02:00
drbd_wrappers.h drbd: Get rid of unnecessary macros (2) 2011-03-10 11:36:15 +01:00
Kconfig drbd: Kconfig fix 2009-12-29 17:38:28 +01:00
Makefile drbd: remove tracing bits 2009-10-01 21:17:58 +02:00