Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4b26a08a authored by Goldwyn Rodrigues's avatar Goldwyn Rodrigues
Browse files

Perform resync for cluster node failure



If bitmap_copy_slot returns hi>0, we need to perform resync.

Signed-off-by: default avatarGoldwyn Rodrigues <rgoldwyn@suse.com>
parent e94987db
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -223,8 +223,18 @@ void recover_bitmaps(struct md_thread *thread)
			goto clear_bit;
		}
		ret = bitmap_copy_from_slot(mddev, slot, &lo, &hi);
		if (ret)
		if (ret) {
			pr_err("md-cluster: Could not copy data from bitmap %d\n", slot);
			goto dlm_unlock;
		}
		if (hi > 0) {
			/* TODO:Wait for current resync to get over */
			set_bit(MD_RECOVERY_NEEDED, &mddev->recovery);
			if (lo < mddev->recovery_cp)
				mddev->recovery_cp = lo;
			md_check_recovery(mddev);
		}
dlm_unlock:
		dlm_unlock_sync(bm_lockres);
clear_bit:
		clear_bit(slot, &cinfo->recovery_map);