> -----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