From: Lars Ellenberg Date: Mon, 26 Mar 2012 13:09:44 +0000 (+0200) Subject: drbd: Fix a potential race that could case data inconsistency X-Git-Tag: v3.8-rc1~78^2~18^2~108 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=81f448629aa25051c47b4d5b81702da8cbe922c3;p=pandora-kernel.git 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 Signed-off-by: Lars Ellenberg --- Reading git-diff-tree failed