From: Martin Wilck <mwilck@arcor.de>
To: Francis Moreau <francis.moro@gmail.com>
Cc: linux-raid@vger.kernel.org
Subject: Re: MD array keeps resyncing after rebooting
Date: Thu, 25 Jul 2013 20:58:19 +0200 [thread overview]
Message-ID: <51F1754B.5000905@arcor.de> (raw)
In-Reply-To: <CAC9WiBjQz6MJxBuw+cLWFZ-vOsdbYYSKdE575emH_AG5EmnGdw@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3010 bytes --]
On 07/24/2013 03:50 PM, Francis Moreau wrote:
> I regenerated the initramfs in order to use the new binaries when
> booting and now I can see some new warnings:
>
> $ dracut -f
> mdmon: Failed to load secondary DDF header on /dev/block/8:0
> mdmon: Failed to load secondary DDF header on /dev/block/8:16
> ...
>
> I ignored them for now.
The message is non-fatal. But is certainly strange, given that you have
a LSI BIOS. It looks as if something was wrong with your secondary
header. You may try the attached patch to understand the problem better.
> Now the latest version of mdadm is used :
>
> $ cat /proc/mdstat
> Personalities : [raid1]
> md126 : active raid1 sdb[1] sda[0]
> 975585280 blocks super external:/md127/0 [2/2] [UU]
>
> md127 : inactive sdb[1](S) sda[0](S)
> 2354608 blocks super external:ddf
So you did another rebuild of the array with the updated mdadm?
> I run mdadm -E /dev/sdX for all RAID disks before and after reboot.
> I'm still having this warning:
>
> mdmon: Failed to load secondary DDF header on /dev/sda
>
> You can find the differences below:
>
> diff -Nurp before/sda.txt after/sda.txt
> --- before/sda.txt 2013-07-24 15:15:33.304015379 +0200
> +++ after/sda.txt 2013-07-24 15:49:09.520132838 +0200
> @@ -9,11 +9,11 @@ Controller GUID : 4C534920:20202020:FFFF
> Redundant hdr : yes
> Virtual Disks : 1
>
> - VD GUID[0] : 4C534920:20202020:80861D60:00000000:3F2103E0:00001450
> - (LSI 07/24/13 12:18:08)
> + VD GUID[0] : 4C534920:20202020:80861D60:00000000:3F213401:00001450
> + (LSI 07/24/13 15:43:29)
This is weird. it looks as if the array had been recreated by the BIOS.
Normally the GUID should stay constant over reboots.
> unit[0] : 0
> state[0] : Optimal, Not Consistent
> - init state[0] : Fully Initialised
Not Consistent and Fully Initialized - This looks as if the array didn't
close down cleanly. Is this the result of rebuilding the array with
mdmon 3.3-rc1?
Thinking about it - you did some coding of your own to start mdmon in
the initrd, right? Do you also make sure that mdadm -Ss is called after
umounting the file systems, but before shutdown? If not, an inconsistent
state might result.
> + init state[0] : Not Initialised
> access[0] : Read/Write
> Name[0] : array0
> Raid Devices[0] : 2 (0 1)
> diff -Nurp before/sdb.txt after/sdb.txt
> --- before/sdb.txt 2013-07-24 15:17:50.300581049 +0200
> +++ after/sdb.txt 2013-07-24 15:49:15.159997204 +0200
> @@ -9,11 +9,11 @@ Controller GUID : 4C534920:20202020:FFFF
> Redundant hdr : yes
> Virtual Disks : 1
>
> - VD GUID[0] : 4C534920:20202020:80861D60:00000000:3F2103E0:00001450
> - (LSI 07/24/13 12:18:08)
> + VD GUID[0] : 4C534920:20202020:80861D60:00000000:3F213401:00001450
> + (LSI 07/24/13 15:43:29)
Again, new GUID. Did you recreate the array?
Regards
Martin
[-- Attachment #2: load-ddf-header-logging.patch --]
[-- Type: text/x-patch, Size: 1410 bytes --]
From 4e689b7d63e21db21f5bbc0e06b011648265705d Mon Sep 17 00:00:00 2001
From: Martin Wilck <mwilck@arcor.de>
Date: Thu, 25 Jul 2013 21:48:32 +0200
Subject: [PATCH] DDF: load_ddf_header: more error logging
Try to determine problem if load_ddf_header fails.
---
super-ddf.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/super-ddf.c b/super-ddf.c
index 234d816..fdfc1d5 100644
--- a/super-ddf.c
+++ b/super-ddf.c
@@ -754,18 +754,24 @@ static int load_ddf_header(int fd, unsigned long long lba,
if (read(fd, hdr, 512) != 512)
return 0;
- if (!be32_eq(hdr->magic, DDF_HEADER_MAGIC))
+ if (!be32_eq(hdr->magic, DDF_HEADER_MAGIC)) {
+ pr_err("%s: bad header magic\n", __func__);
return 0;
- if (!be32_eq(calc_crc(hdr, 512), hdr->crc))
+ }
+ if (!be32_eq(calc_crc(hdr, 512), hdr->crc)) {
+ pr_err("%s: bad CRC\n", __func__);
return 0;
+ }
if (memcmp(anchor->guid, hdr->guid, DDF_GUID_LEN) != 0 ||
memcmp(anchor->revision, hdr->revision, 8) != 0 ||
!be64_eq(anchor->primary_lba, hdr->primary_lba) ||
!be64_eq(anchor->secondary_lba, hdr->secondary_lba) ||
hdr->type != type ||
memcmp(anchor->pad2, hdr->pad2, 512 -
- offsetof(struct ddf_header, pad2)) != 0)
+ offsetof(struct ddf_header, pad2)) != 0) {
+ pr_err("%s: header mismatch\n", __func__);
return 0;
+ }
/* Looks good enough to me... */
return 1;
--
1.7.1
next prev parent reply other threads:[~2013-07-25 18:58 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-23 9:46 MD array keeps resyncing after rebooting Francis Moreau
2013-07-23 12:55 ` Francis Moreau
2013-07-23 18:52 ` Martin Wilck
2013-07-23 18:52 ` Martin Wilck
2013-07-23 20:01 ` Francis Moreau
2013-07-23 21:21 ` Martin Wilck
2013-07-24 4:32 ` Francis Moreau
2013-07-24 13:50 ` Francis Moreau
2013-07-25 18:58 ` Martin Wilck [this message]
2013-07-25 19:06 ` Martin Wilck
2013-07-25 20:23 ` Francis Moreau
2013-07-29 15:46 ` Francis Moreau
2013-07-25 20:21 ` Francis Moreau
2013-07-31 19:36 ` Francis Moreau
2013-08-01 13:28 ` Francis Moreau
2013-08-01 18:15 ` Martin Wilck
2013-08-02 12:49 ` Francis Moreau
[not found] ` <CAC9WiBhGyE=OJdSeL_OsPxtirhJ2=3WRsk=uBPiOTzMjBCf-dA@mail.gmail.com>
2013-08-02 18:19 ` Martin Wilck
2013-08-03 0:08 ` Sam Bingner
2013-08-03 11:02 ` Francis Moreau
2013-08-08 7:18 ` Francis Moreau
2013-08-24 18:54 ` Martin Wilck
2013-08-26 7:44 ` Francis Moreau
2013-08-31 19:23 ` Francis Moreau
2013-09-01 17:05 ` Martin Wilck
2013-08-05 6:08 ` NeilBrown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51F1754B.5000905@arcor.de \
--to=mwilck@arcor.de \
--cc=francis.moro@gmail.com \
--cc=linux-raid@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.