RE: [PATCH 0/5] Grow_continue() prepare for usage in assembly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: linux-raid-owner@xxxxxxxxxxxxxxx [mailto:linux-raid-
> owner@xxxxxxxxxxxxxxx] On Behalf Of NeilBrown
> Sent: Wednesday, March 02, 2011 1:58 AM
> To: Kwolek, Adam
> Cc: linux-raid@xxxxxxxxxxxxxxx; Williams, Dan J; Ciechanowski, Ed;
> Neubauer, Wojciech
> Subject: Re: [PATCH 0/5] Grow_continue() prepare for usage in assembly
> 
> On Mon, 28 Feb 2011 16:06:55 +0100 Adam Kwolek <adam.kwolek@xxxxxxxxx>
> wrote:
> 
> > This is first part of reshape continuation. This patch series makes
> (mainly) some changes to Grow_continue()
> > for use for reshape continuation during array assembling.
> >
> > It runs reshape_array() in background (for container operation it
> should be also ok, as we can have only one
> > metadata marked for reshape at the time).
> 
> This is the 4th patch I assume...
> That fork should not be needed.  We pass '0' as the 'forked' parameter
> to
> 'reshape_array', so reshape_array will fork and continue in the
> background.
> Why does Grow_continue need to fork as well??
> 
> 
> > For external metadata reshape_array requires container name parameter.
> 
> Yep.
> 
> >
> > For reshape invoked from assembly reshape_array cannot start reshape
> (this would push md to call i.e. start_reshape
> > vector from personality). Staring reshape is based on run() mechanism
> in md so reshape_array should not configure or start reshape.
> 
> I think you just need to change the call:
> -       err = start_reshape(sra, (info->reshape_active && !st->ss-
> >external));
> 
> to
> 
> +       err = start_reshape(sra, info->reshape_active);
> 
> to fix that, don't you?


For regular reshape start (not restart from checkpoint) info->reshape_active is set also.
This flag is set to 1 for reshape start and continuation, based on this flag.
I think that using flags in this call, change can look like this:

+       err = start_reshape(sra, (info->reshape_active && !st->ss->external && !restart));

... and yes, this looks better ;)
This fix can be correct if restart flag has meaning "monitor only".

BR
Adam



> 
> 
> > It should monitor check-pointing only.
> >
> >
> > BR
> > Adam
> >
> >
> > ---
> >
> > Adam Kwolek (5):
> >       FIX: Do not configure and start, already started reshape
> >       FIX: Continue reshape in the background
> 
> The above 2 I have not applied.
> 
> >       FIX: Set readonly state in Grow_continue() when necessary
> >       FIX: Pass container name to reshape array for external meta data
> >       FIX: Spelling error in dprintf output
> 
> There 3 I have applied.
> 
> Thanks,
> NeilBrown
> 
> >
> >
> >  Grow.c |   53 ++++++++++++++++++++++++++++++++++++++++-------------
> >  1 files changed, 40 insertions(+), 13 deletions(-)
> >
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-raid" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux