Re: [PATCH] imsm: fix: Allowed to create 2 volumes with total size less then maximum.

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

 



On Thu, 10 Nov 2011 13:30:32 +0000 "Labun, Marcin" <Marcin.Labun@xxxxxxxxx>
wrote:

> Probably it would be more convenient to set the only possible size and create a volume with a warning.
> Marcin

I disagree.  This code only applies if the user has explicitly requested a
particular size.  If that request cannot be fulfilled, it shouldn't be
attempted at all.

I have applied the original patch.

Thanks,
NeilBrown


> 
> 
> > -----Original Message-----
> > From: linux-raid-owner@xxxxxxxxxxxxxxx [mailto:linux-raid-
> > owner@xxxxxxxxxxxxxxx] On Behalf Of Lukasz Orlowski
> > Sent: Thursday, November 10, 2011 11:52 AM
> > To: neilb@xxxxxxx
> > Cc: linux-raid@xxxxxxxxxxxxxxx; Williams, Dan J
> > Subject: [PATCH] imsm: fix: Allowed to create 2 volumes with total size
> > less then maximum.
> > 
> > mdadm allows to create second volume on the same disk set, whose size
> > is
> > less then the free space left in the container (with IMSM_NO_PLATFORM
> > undefined or set to 0). This is an OROM compatibility issue.
> > It is fixed by verifying whether IMSM_NO_PLATFORM is set and for
> > the second volume creation scenario, requested size is verified against
> > remaining available space.
> > 
> > Signed-off-by: Lukasz Orlowski <lukasz.orlowski@xxxxxxxxx>
> > ---
> >  super-intel.c |    9 +++++++++
> >  1 files changed, 9 insertions(+), 0 deletions(-)
> > 
> > diff --git a/super-intel.c b/super-intel.c
> > index 215679d..4ebee78 100644
> > --- a/super-intel.c
> > +++ b/super-intel.c
> > @@ -5276,6 +5276,15 @@ static int validate_geometry_imsm_volume(struct
> > supertype *st, int level,
> >  			i += dl->extent_cnt;
> > 
> >  	maxsize = merge_extents(super, i);
> > +
> > +	if (!check_env("IMSM_NO_PLATFORM") &&
> > +		mpb->num_raid_devs > 0 && size && size != maxsize) {
> > +		fprintf(stderr, Name ": attempting to create a second "
> > +			"volume with size less then remaining space. "
> > +			"Aborting...\n");
> > +		return 0;
> > +	}
> > +
> >  	if (maxsize < size || maxsize == 0) {
> >  		if (verbose)
> >  			fprintf(stderr, Name ": not enough space after merge
> > (%llu < %llu)\n",
> > 
> > ---------------------------------------------------------------------
> > Intel Technology Poland sp. z o.o.
> > z siedziba w Gdansku
> > ul. Slowackiego 173
> > 80-298 Gdansk
> > 
> > Sad Rejonowy Gdansk Polnoc w Gdansku,
> > VII Wydzial Gospodarczy Krajowego Rejestru Sadowego,
> > numer KRS 101882
> > 
> > NIP 957-07-52-316
> > Kapital zakladowy 200.000 zl
> > 
> > This e-mail and any attachments may contain confidential material for
> > the sole use of the intended recipient(s). Any review or distribution
> > by others is strictly prohibited. If you are not the intended
> > recipient, please contact the sender and delete all copies.
> > N�����r��y���b�X��ǧv�^�)޺{.n�+����{�����{ay�ʇڙ�,j
��f���h���z��w���
> > 
> > ���j:+v���w�j�m����
����zZ+�����ݢj"��!�i

Attachment: signature.asc
Description: PGP signature


[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