]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.31/patches.fixes/0006-md-never-clear-bit-from-the-write-intent-bitmap-when.patch
Revert "Move xen patchset to new version's subdir."
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.fixes / 0006-md-never-clear-bit-from-the-write-intent-bitmap-when.patch
diff --git a/src/patches/suse-2.6.27.31/patches.fixes/0006-md-never-clear-bit-from-the-write-intent-bitmap-when.patch b/src/patches/suse-2.6.27.31/patches.fixes/0006-md-never-clear-bit-from-the-write-intent-bitmap-when.patch
deleted file mode 100644 (file)
index c72552a..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-From d0a4bb492772ce5c4bdfba3744a99ed6f6fb238f Mon Sep 17 00:00:00 2001
-From: NeilBrown <neilb@suse.de>
-Date: Tue, 31 Mar 2009 14:27:02 +1100
-Subject: [PATCH] md: never clear bit from the write-intent bitmap when the array is degraded.
-
-It is safe to clear a bit from the write-intent bitmap for a raid1
-if we know the data has been written to all devices, which is
-what the current test does.
-
-But it is not always safe to update the 'events_cleared' counter in
-that case.  This is because one request could complete successfully
-after some other request has partially failed.
-
-So simply disable the clearing and updating of events_cleared whenever
-the array is degraded.  This might end up not clearing some bits that
-could safely be cleared, but it is safest approach.
-
-Note that the bug fixed here did not risk corrupting data by letting
-the array get out-of-sync.  Rather it meant that when a device is
-removed and re-added to the array, it might incorrectly require a full
-recovery rather than just recovering based on the bitmap.
-
-Signed-off-by: NeilBrown <neilb@suse.de>
----
- drivers/md/bitmap.c |    3 +++
- 1 file changed, 3 insertions(+)
-
---- a/drivers/md/bitmap.c
-+++ b/drivers/md/bitmap.c
-@@ -1307,6 +1307,9 @@ void bitmap_endwrite(struct bitmap *bitm
-               PRINTK(KERN_DEBUG "dec write-behind count %d/%d\n",
-                 atomic_read(&bitmap->behind_writes), bitmap->max_write_behind);
-       }
-+      if (bitmap->mddev->degraded)
-+              /* Never clear bits or update events_cleared when degraded */
-+              success = 0;
-       while (sectors) {
-               int blocks;