aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_receiver.c
diff options
context:
space:
mode:
authorPhilipp Reisner <philipp.reisner@linbit.com>2009-11-18 09:52:51 -0500
committerPhilipp Reisner <philipp.reisner@linbit.com>2009-11-24 12:13:28 -0500
commitd8c2a36b774defd4e230353d91f0f609c128bd78 (patch)
treef9e3f64b763945db7bc0a007c03b28833177e0b4 /drivers/block/drbd/drbd_receiver.c
parent0b33a9164aca6332bf4a117af5528dea9675d782 (diff)
Fixed a regression in resync decission code drbd_uuid_compare() [Bugz 260]
Since 8.3.3 we fail to do the resync when a partial resynch is not possible, but a full synch is necessary. This regression was introduced with 7101539930c0a89146959e7a39c09ad9c3516434 Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd/drbd_receiver.c')
-rw-r--r--drivers/block/drbd/drbd_receiver.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c
index fb29a75053ef..c548f24f54a1 100644
--- a/drivers/block/drbd/drbd_receiver.c
+++ b/drivers/block/drbd/drbd_receiver.c
@@ -2400,6 +2400,7 @@ static int drbd_uuid_compare(struct drbd_conf *mdev, int *rule_nr) __must_hold(l
2400 2400
2401 2401
2402 *rule_nr = 80; 2402 *rule_nr = 80;
2403 peer = mdev->p_uuid[UI_CURRENT] & ~((u64)1);
2403 for (i = UI_HISTORY_START; i <= UI_HISTORY_END; i++) { 2404 for (i = UI_HISTORY_START; i <= UI_HISTORY_END; i++) {
2404 self = mdev->ldev->md.uuid[i] & ~((u64)1); 2405 self = mdev->ldev->md.uuid[i] & ~((u64)1);
2405 if (self == peer) 2406 if (self == peer)