linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lukasz Florczak <lukasz.florczak@linux.intel.com>
To: Coly Li <colyli@suse.de>
Cc: linux-raid@vger.kernel.org, jes@trained-monkey.org,
	pmenzel@molgen.mpg.de
Subject: Re: [PATCH 1/2] mdadm: Fix array size mismatch after grow
Date: Mon, 27 Jun 2022 15:16:05 +0200	[thread overview]
Message-ID: <7f4525$j8f9ri@fmsmga008-auth.fm.intel.com> (raw)
In-Reply-To: <2747A949-7F7E-4C44-816B-F2B648EB87C9@suse.de>

On Tue, 21 Jun 2022 00:28:18 +0800, Coly Li <colyli@suse.de> wrote:

> > 2022年6月3日 22:30,Lukasz Florczak
> > <lukasz.florczak@linux.intel.com> 写道:
> > 
> > On Mon, 30 May 2022 18:01:05 +0800, Coly Li <colyli@suse.de> wrote:
> > 
> > Hi Coly,  
> >> Hi Lukasz,
> >> 
> >>   
> >>> 2022年4月7日 22:27,Lukasz Florczak
> >>> <lukasz.florczak@linux.intel.com> 写道:
> >>> 
> >>> imsm_fix_size_mismatch() is invoked to fix the problem, but it
> >>> couldn't proceed due to migration check. This patch allows for
> >>> intended behavior.  
> >> 
> >> 
> >> Could you please explain a bit more about why “it couldn’t proceed
> >> due to migration”, and what is the “intended behavior”? It may help
> >> me to understand your change and response faster.  
> > 
> > The intended behavior here is to fix the array size after grow that
> > is displayed in mdadm detail, since there can be a mismatch if the
> > raid was created in EFI [1]. That is the array size is not
> > consistent with the formula: 
> > Array_size * block_size = Num_stripes * Chunk_size *
> > Num_of_data_drives 
> > 
> > That fix couldn't happen as the metadata update part was efficiently
> > omitted with continue statement after the migration type condition
> > was met. 
> > 
> > About migration I didn't go that much into detail, but it was an
> > issue that dev->vol.migr_type was still in MIGR_GEN_MIGR state even
> > though imsm_fix_size_mismatch() was called after migration has been
> > finished, at least from the mdadm's point of view. That happens
> > because this value is changed later, afaik, by mdmon. The initial
> > idea here must've been not to change the array size during
> > migration, but that is not valid since its state is just not
> > updated yet.
> > 
> > [1]
> > https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=895ffd992954069e4ea67efb8a85bb0fd72c3707
> >  
> 
> Copied, thanks for the hint.
> 
> BTW, now I do the imsm related test with IMSM_NO_PLATFORM=1 and
> IMSM_DEVNAME_AS_SERIAL=1. To test situation as the above text
> mentioned, do I have to find a real hardware with VROC supported?

Hi Coly,

Having a real hardware with VROC support would be the most convenient
solution here. However, you could do a quick hack to overcome this
situation. That would be commenting out the line:
array_size = round_size_to_mb(array_blocks, data_disks);
in init_super_imsm_volume(). Then creating RAID in OS should have the
same size mismatch issues as size per drive won't be aligned to 1MiB
(considering you create raid with size not aligned to 1MiB) - raid
size created in EFI only has to be multiple of sector size and chunk
size.
Hope this helps you.

Thanks,
Lukasz
> 
> Coly Li
> 

  reply	other threads:[~2022-06-27 13:18 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-07 14:27 [PATCH v2 0/2] mdadm: Fix array size mismatch after grow Lukasz Florczak
2022-04-07 14:27 ` [PATCH 1/2] " Lukasz Florczak
2022-05-30 10:01   ` Coly Li
2022-06-03 14:30     ` Lukasz Florczak
2022-06-20 16:28       ` Coly Li
2022-06-27 13:16         ` Lukasz Florczak [this message]
2022-04-07 14:27 ` [PATCH 2/2] mdadm: Remove dead code in imsm_fix_size_mismatch Lukasz Florczak
2022-05-30 10:05   ` Coly Li

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='7f4525$j8f9ri@fmsmga008-auth.fm.intel.com' \
    --to=lukasz.florczak@linux.intel.com \
    --cc=colyli@suse.de \
    --cc=jes@trained-monkey.org \
    --cc=linux-raid@vger.kernel.org \
    --cc=pmenzel@molgen.mpg.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).