Re: [PATCH 2/9] FIX: Cannot add spare to monitored container

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

 



On Wed, 12 Jan 2011 15:57:45 +0000 "Kwolek, Adam" <adam.kwolek@xxxxxxxxx>
wrote:

> > -----Original Message-----
> > From: NeilBrown [mailto:neilb@xxxxxxx]
> > Sent: Wednesday, January 12, 2011 6:43 AM
> > To: Kwolek, Adam
> > Cc: linux-raid@xxxxxxxxxxxxxxx; Williams, Dan J; Ciechanowski, Ed;
> > Neubauer, Wojciech
> > Subject: Re: [PATCH 2/9] FIX: Cannot add spare to monitored container
> > 
> > On Tue, 11 Jan 2011 15:04:03 +0100 Adam Kwolek <adam.kwolek@xxxxxxxxx>
> > wrote:
> > 
> > > This fix rolls backs some changes introduced by patch:
> > > 	"Add spares to raid0 in mdadm"
> > >
> > > Signed-off-by: Adam Kwolek <adam.kwolek@xxxxxxxxx>
> > 
> > It would help a lot if you explained *why* you were rolling back these
> > changes.
> > 
> > Not applied.
> > 
> > NeilBrown
> 
> 
> I cannot add spare to i.e. raid5 array. In my unit tests, I'm creating raid5 array and then I'm adding spares for expansion (mdadm --add).
> If I've create container with more disks than create array that is using fewer disks, I can test expansion.
> Spares can be added to raid0 with no monitor usage without problems.
> I've started to observe this problem when patch for adding spares to raid0 was applied.
> I've identify code change that makes problem. This causes this code rollback. 
> 
> Problem that is visible is  that. Monitor cannot write major:minor to new_dev in sysfs /without code roll back/.
> I didn't dig this problem deeply. This patch is rather reminder to signalize problem /and not forget about it/.
> 

Fair enough.
Having a patch which works around a problem and reminds you to fix it later
is a good idea.  However you should make sure that the notes at the top of
the patch make it clear that is the purpose of the patch  - especially when
you post it to me.
It is just SO important to include completed details in the notes at the top
of the patch!!!!

NeilBrown


> BR
> Adam
> 
> > 
> > > ---
> > >
> > >  Manage.c |    8 ++++----
> > >  1 files changed, 4 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/Manage.c b/Manage.c
> > > index 4e6afb5..fa1b13f 100644
> > > --- a/Manage.c
> > > +++ b/Manage.c
> > > @@ -800,16 +800,16 @@ int Manage_subdevs(char *devname, int fd,
> > >  				if (dv->writemostly == 1)
> > >  					disc.state |= 1 << MD_DISK_WRITEMOSTLY;
> > >  				dfd = dev_open(dv->devname, O_RDWR |
> > O_EXCL|O_DIRECT);
> > > -				if (tst->ss->external &&
> > > -				    mdmon_running(tst->container_dev))
> > > -					tst->update_tail = &tst->updates;
> > >  				if (tst->ss->add_to_super(tst, &disc, dfd,
> > >  							  dv->devname)) {
> > >  					close(dfd);
> > >  					return 1;
> > >  				}
> > >  				/* write_init_super will close 'dfd' */
> > > -				if (tst->ss->write_init_super(tst))
> > > +				if (tst->ss->external)
> > > +					/* mdmon will write the metadata */
> > > +					close(dfd);
> > > +				else if (tst->ss->write_init_super(tst))
> > >  					return 1;
> > >  			} else if (dv->re_add) {
> > >  				/*  this had better be raid1.
> 
> --
> 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