kernel-fxtec-pro1x/drivers/block/drbd
Philipp Reisner fc28845bc0 drbd: Fix a potential race that could case data inconsistency
When we have a write request and a state change C_WF_BITMAP_S -> C_SYNC_SOURCE
at the same time, and it happens that the line

	remote = remote && drbd_should_do_remote(s);

stills sees C_WF_BITMAP_S, and

	send_oos = rw == WRITE && drbd_should_send_oos(s);

already sees C_SYNC_SOURCE both are 0.

This causes the write to not be mirrored, but marked as out-of-sync on the
Sync_Source node.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
2012-05-09 15:16:34 +02:00
..
drbd_actlog.c drbd: Consider the disk-timeout also for meta-data IO operations 2012-05-09 15:16:30 +02:00
drbd_bitmap.c drbd: Consider the disk-timeout also for meta-data IO operations 2012-05-09 15:16:30 +02:00
drbd_int.h drbd: Consider the disk-timeout also for meta-data IO operations 2012-05-09 15:16:30 +02:00
drbd_main.c drbd: Consider the disk-timeout also for meta-data IO operations 2012-05-09 15:16:30 +02:00
drbd_nl.c drbd: send intermediate state change results to the peer 2012-05-09 15:15:56 +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: Fix module refcount leak in drbd_accept() 2012-05-09 15:16:32 +02:00
drbd_req.c drbd: Fix a potential race that could case data inconsistency 2012-05-09 15:16:34 +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: Fixed an obvious copy-n-paste mistake 2012-05-09 15:15:57 +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