Thread (2 messages) 2 messages, 1 author, 2009-01-23

Re: [mdadm git pull] imsm fixes and general external metadata updates

From: Dan Williams <hidden>
Date: 2009-01-23 22:51:56
Subsystem: the rest · Maintainer: Linus Torvalds

On Wed, 2009-01-21 at 15:20 -0700, Dan Williams wrote:
Hi Neil,

The following changes since commit 78fbcc10312649f2f4f88283e3f19dce9b205733:
  NeilBrown (1):
        Merge branch 'master' into scratch-3.0

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/djbw/mdadm.git devel
Seems you have not pulled yet, I have appended an important fix.

Thanks,
Dan

---
imsm: fix failed disks are allowed back into the container

From: Dan Williams <redacted>

Failed disks do not have valid serial numbers which means we will not
pick up the 'failed' status bit from the metadata entry.  Check for
dl->index == -2 to prevent failed disks from being incorporated into the
container.

Signed-off-by: Dan Williams <redacted>
---
 super-intel.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/super-intel.c b/super-intel.c
index 0a7c34a..5c9f413 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -1195,8 +1195,11 @@ static void getinfo_super_imsm(struct supertype *st, struct mdinfo *info)
 		info->component_size = reserved;
 		s = disk->status;
 		info->disk.state  = s & CONFIGURED_DISK ? (1 << MD_DISK_ACTIVE) : 0;
-		info->disk.state |= s & FAILED_DISK ? (1 << MD_DISK_FAULTY) : 0;
 		info->disk.state |= s & SPARE_DISK ? 0 : (1 << MD_DISK_SYNC);
+		if (s & FAILED_DISK || super->disks->index == -2) {
+			info->disk.state |= 1 << MD_DISK_FAULTY;
+			info->disk.raid_disk = -2;
+		}
 	}
 
 	/* only call uuid_from_super_imsm when this disk is part of a populated container,

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help