From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jes Sorensen Subject: Re: [PATCH v2] Fix RAID metadata check Date: Thu, 22 Sep 2016 11:35:32 -0400 Message-ID: References: <1474527731-29542-1-git-send-email-mariusz.dabrowski@intel.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: In-Reply-To: <1474527731-29542-1-git-send-email-mariusz.dabrowski@intel.com> (Mariusz Dabrowski's message of "Thu, 22 Sep 2016 09:02:11 +0200") Sender: linux-raid-owner@vger.kernel.org To: Mariusz Dabrowski Cc: linux-raid@vger.kernel.org, tomasz.majchrzak@intel.com, aleksey.obitotskiy@intel.com, pawel.baldysiak@intel.com, artur.paszkiewicz@intel.com, maksymilian.kunt@intel.com List-Id: linux-raid.ids Mariusz Dabrowski writes: > mdadm recognizes devices with partition table as part of an RAID array > and invalid warning message is displayed. After this fix proper warning > messages are being displayed for MBR/GPT disks and devices with RAID > metadata. > > Signed-off-by: Mariusz Dabrowski > --- > util.c | 27 ++++++++++++++++----------- > 1 file changed, 16 insertions(+), 11 deletions(-) Looks good, applied! Thanks, Jes > diff --git a/util.c b/util.c > index 8b52242..a238a21 100644 > --- a/util.c > +++ b/util.c > @@ -710,17 +710,22 @@ int check_raid(int fd, char *name) > > if (!st) > return 0; > - st->ss->load_super(st, fd, name); > - /* Looks like a raid array .. */ > - pr_err("%s appears to be part of a raid array:\n", > - name); > - st->ss->getinfo_super(st, &info, NULL); > - st->ss->free_super(st); > - crtime = info.array.ctime; > - level = map_num(pers, info.array.level); > - if (!level) level = "-unknown-"; > - cont_err("level=%s devices=%d ctime=%s", > - level, info.array.raid_disks, ctime(&crtime)); > + if (st->ss->add_to_super != NULL) { > + st->ss->load_super(st, fd, name); > + /* Looks like a raid array .. */ > + pr_err("%s appears to be part of a raid array:\n", name); > + st->ss->getinfo_super(st, &info, NULL); > + st->ss->free_super(st); > + crtime = info.array.ctime; > + level = map_num(pers, info.array.level); > + if (!level) > + level = "-unknown-"; > + cont_err("level=%s devices=%d ctime=%s", > + level, info.array.raid_disks, ctime(&crtime)); > + } else { > + /* Looks like GPT or MBR */ > + pr_err("partition table exists on %s\n", name); > + } > return 1; > }