[blivet:master 09/11] Use raid.size method to get size of device (#1085474)
Anne Mulhern
amulhern at redhat.com
Mon Apr 14 11:55:46 UTC 2014
----- Original Message -----
> From: "Vratislav Podzimek" <vpodzime at redhat.com>
> To: "anaconda patch review" <anaconda-patches at lists.fedorahosted.org>
> Sent: Monday, April 14, 2014 5:12:50 AM
> Subject: Re: [blivet:master 09/11] Use raid.size method to get size of device (#1085474)
>
> On Fri, 2014-04-11 at 11:23 -0400, mulhern wrote:
> > Resolves: fed#1085474
> >
> > Requires modifying superBlockSize() so it can be passed as an argument to
> > size().
> >
> > Signed-off-by: mulhern <amulhern at redhat.com>
> > ---
> > blivet/devices.py | 25 ++++++++++++++-----------
> > tests/devices_test.py | 1 -
> > 2 files changed, 14 insertions(+), 12 deletions(-)
> >
> > diff --git a/blivet/devices.py b/blivet/devices.py
> > index f6ed975..7bceb87 100644
> > --- a/blivet/devices.py
> > +++ b/blivet/devices.py
> > @@ -3269,9 +3269,16 @@ class MDRaidArrayDevice(ContainerDevice):
> > log.debug("raw RAID %s size == %s", self.level, size)
> > return size
> >
> > - @property
> > - def superBlockSize(self):
> > - return mdraid.get_raid_superblock_size(self.rawArraySize,
> > + def superBlockSize(self, raw_array_size):
> > + """Estimate the superblock size for a member of an array,
> > + given the total available memory for this array and raid level.
> > +
> > + :param raw_array_size: total available for this array and level
> > + :type raw_array_size: :class:`~.size.Size`
> > + :returns: estimated superblock size
> > + :rtype: :class:`~.size.Size`
> > + """
> > + return mdraid.get_raid_superblock_size(raw_array_size,
> > version=self.metadataVersion)
> >
> > @property
> > @@ -3291,16 +3298,12 @@ class MDRaidArrayDevice(ContainerDevice):
> > if self.type == "mdbiosraidarray":
> > return self._size
> >
> > - smallestMember = self.smallestMember
> > - if smallestMember is None:
> > - return 0
> > -
> > if not self.exists or not self.partedDevice:
> > try:
> > - smallestMemberSize = smallestMember.size -
> > self.superBlockSize
> > - size = self.level.get_size(self.memberDevices,
> > - smallestMemberSize,
> > - self.chunkSize)
> > + size = self.level.size([ d.size for d in self.devices ],
> Please drop the extra space in the square brackets.
>
> > + self.memberDevices,
> > + self.chunkSize,
> > + self.superBlockSize)
> > except (errors.MDRaidError, errors.RaidError) as e:
> > log.info("could not calculate size of device %s for raid
> > level %s: %s", self, self.level, e)
> > size = 0
> > diff --git a/tests/devices_test.py b/tests/devices_test.py
> > index 885f958..5d07f65 100644
> > --- a/tests/devices_test.py
> > +++ b/tests/devices_test.py
> > @@ -87,7 +87,6 @@ class MDRaidArrayDeviceTestCase(DeviceStateTestCase):
> > "smallestMember" : self.assertIsNone,
> > "spares" : lambda x, m: self.assertEqual(x, 0, m),
> > "status" : self.assertFalse,
> > - "superBlockSize" : lambda x, m: self.assertEqual(x,
> > Size(spec="1 MiB"), m),
> > "sysfsPath" : lambda x, m: self.assertEqual(x, "", m),
> > "targetSize" : lambda x, m: self.assertEqual(x, Size(bytes=0),
> > m),
> > "uuid" : self.assertIsNone,
>
> --
> Vratislav Podzimek
>
> Anaconda Rider | Red Hat, Inc. | Brno - Czech Republic
>
> _______________________________________________
> anaconda-patches mailing list
> anaconda-patches at lists.fedorahosted.org
> https://lists.fedorahosted.org/mailman/listinfo/anaconda-patches
>
Done.
- mulhern
More information about the anaconda-patches
mailing list