Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 318049 Details for
Bug 463780
Add new logical volume raises exception
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
updated fix
lvm_gui_clamp.patch (text/plain), 6.83 KB, created by
Radek Vykydal
on 2008-09-30 08:55:57 UTC
(
hide
)
Description:
updated fix
Filename:
MIME Type:
Creator:
Radek Vykydal
Created:
2008-09-30 08:55:57 UTC
Size:
6.83 KB
patch
obsolete
>diff --git a/iw/lvm_dialog_gui.py b/iw/lvm_dialog_gui.py >index 2554f35..8b40890 100644 >--- a/iw/lvm_dialog_gui.py >+++ b/iw/lvm_dialog_gui.py >@@ -48,7 +48,7 @@ class VolumeGroupEditor: > else: > pvlist = alt_pvlist > tspace = self.computeVGSize(pvlist, pesize) >- uspace = self.computeLVSpaceNeeded(self.logvolreqs) >+ uspace = self.computeLVSpaceNeeded(self.logvolreqs, pesize) > fspace = tspace - uspace > > return (tspace, uspace, fspace) >@@ -90,8 +90,8 @@ class VolumeGroupEditor: > return minpvsize > > >- def reclampLV(self, newpe): >- """ given a new pe value, set logical volume sizes accordingly >+ def reclampLV(self, oldpe, newpe): >+ """ given an old and new pe value, set logical volume sizes accordingly > > newpe - (int) new value of PE, in KB > """ >@@ -104,7 +104,7 @@ class VolumeGroupEditor: > used = 0 > resize = 0 > for lv in self.logvolreqs: >- osize = lv.getActualSize(self.partitions, self.diskset) >+ osize = lv.getActualSize(self.partitions, self.diskset, pesize=oldpe) > oldused = oldused + osize > nsize = lvm.clampLVSizeRequest(osize, newpe, roundup=1) > if nsize != osize: >@@ -138,7 +138,7 @@ class VolumeGroupEditor: > return 0 > > for lv in self.logvolreqs: >- osize = lv.getActualSize(self.partitions, self.diskset) >+ osize = lv.getActualSize(self.partitions, self.diskset, pesize=oldpe) > nsize = lvm.clampLVSizeRequest(osize, newpe, roundup=1) > lv.setSize(nsize) > >@@ -200,7 +200,7 @@ class VolumeGroupEditor: > > # now see if we need to fixup effect PV and LV sizes based on PE > if curval > lastval: >- rc = self.reclampLV(curval) >+ rc = self.reclampLV(lastval, curval) > if not rc: > widget.set_active(lastidx) > return 0 >@@ -209,7 +209,8 @@ class VolumeGroupEditor: > else: > maxlv = lvm.getMaxLVSize(curval) > for lv in self.logvolreqs: >- lvsize = lv.getActualSize(self.partitions, self.diskset) >+ lvsize = lv.getActualSize(self.partitions, self.diskset, >+ pesize=lastval) > if lvsize > maxlv: > self.intf.messageWindow(_("Not enough space"), > _("The physical extent size " >@@ -442,7 +443,8 @@ class VolumeGroupEditor: > sizeEntry = gtk.Entry(16) > lbl.set_mnemonic_widget(sizeEntry) > if logrequest: >- sizeEntry.set_text("%Ld" % (logrequest.getActualSize(self.partitions, self.diskset),)) >+ pesize = int(self.peCombo.get_active_value()) >+ sizeEntry.set_text("%Ld" % (logrequest.getActualSize(self.partitions, self.diskset, pesize=pesize),)) > else: > lbl = createAlignedLabel(_("Size (MB):")) > sizeEntry = gtk.Label(str(logrequest.size)) >@@ -458,7 +460,7 @@ class VolumeGroupEditor: > > # add in size of current logical volume if it has a size > if logrequest and not isNew: >- maxlv = maxlv + logrequest.getActualSize(self.partitions, self.diskset) >+ maxlv = maxlv + logrequest.getActualSize(self.partitions, self.diskset, pesize=pesize) > maxlabel = createAlignedLabel(_("(Max size is %s MB)") % (maxlv,)) > maintable.attach(maxlabel, 1, 2, row, row + 1) > >@@ -688,7 +690,7 @@ class VolumeGroupEditor: > tmplogreqs.append(l) > > tmplogreqs.append(request) >- neededSpaceMB = self.computeLVSpaceNeeded(tmplogreqs) >+ neededSpaceMB = self.computeLVSpaceNeeded(tmplogreqs, pesize) > > if neededSpaceMB > availSpaceMB: > self.intf.messageWindow(_("Not enough space"), >@@ -828,18 +830,19 @@ class VolumeGroupEditor: > log.debug("computeVGSize: vgsize is %s" % (availSpaceMB,)) > return availSpaceMB > >- def computeLVSpaceNeeded(self, logreqs): >+ def computeLVSpaceNeeded(self, logreqs, pesize): > neededSpaceMB = 0 > for lv in logreqs: >- neededSpaceMB = neededSpaceMB + lv.getActualSize(self.partitions, self.diskset) >+ neededSpaceMB = neededSpaceMB + lv.getActualSize(self.partitions, self.diskset, pesize=pesize) > > return neededSpaceMB > > def updateLogVolStore(self): > self.logvolstore.clear() >+ pesize = int(self.peCombo.get_active_value()) > for lv in self.logvolreqs: > iter = self.logvolstore.append() >- size = lv.getActualSize(self.partitions, self.diskset) >+ size = lv.getActualSize(self.partitions, self.diskset, pesize=pesize) > lvname = lv.logicalVolumeName > mntpt = lv.mountpoint > if lvname: >@@ -899,7 +902,7 @@ class VolumeGroupEditor: > pvlist = self.getSelectedPhysicalVolumes(self.lvmlist.get_model()) > pesize = int(self.peCombo.get_active_value()) > availSpaceMB = self.computeVGSize(pvlist, pesize) >- neededSpaceMB = self.computeLVSpaceNeeded(self.logvolreqs) >+ neededSpaceMB = self.computeLVSpaceNeeded(self.logvolreqs, pesize) > > if neededSpaceMB > availSpaceMB: > self.intf.messageWindow(_("Not enough space"), >@@ -921,7 +924,7 @@ class VolumeGroupEditor: > if self.origvgrequest: > origvname = self.origvgrequest.volumeGroupName > else: >- origname = None >+ origvname = None > > if origvname != volname: > if self.partitions.isVolumeGroupNameInUse(volname): >@@ -1100,7 +1103,8 @@ class VolumeGroupEditor: > self.logvolstore.set_value(iter, 1, lvrequest.mountpoint) > else: > self.logvolstore.set_value(iter, 1, "") >- self.logvolstore.set_value(iter, 2, "%Ld" % (lvrequest.getActualSize(self.partitions, self.diskset))) >+ pesize = int(self.peCombo.get_active_value()) >+ self.logvolstore.set_value(iter, 2, "%Ld" % (lvrequest.getActualSize(self.partitions, self.diskset, pesize=pesize))) > > self.logvollist = gtk.TreeView(self.logvolstore) > col = gtk.TreeViewColumn(_("Logical Volume Name"), >diff --git a/partRequests.py b/partRequests.py >index fbc7461..241dd39 100644 >--- a/partRequests.py >+++ b/partRequests.py >@@ -963,10 +963,14 @@ class LogicalVolumeRequestSpec(RequestSpec): > return True > return False > >- def getActualSize(self, partitions, diskset): >+ def getActualSize(self, partitions, diskset, pesize=None): > """Return the actual size allocated for the request in megabytes.""" > retval = 0 > vgreq = partitions.getRequestByID(self.volumeGroup) >+ >+ if not pesize: >+ pesize = vgreq.pesize >+ > if self.percent: > vgsize = vgreq.getActualSize(partitions, diskset) > lvsize = int(self.percent * 0.01 * vgsize) >@@ -978,7 +982,7 @@ class LogicalVolumeRequestSpec(RequestSpec): > # lvm tools round up lvolums using the volume group pv size. > # If the logical volume is preexisting do NOT touch it. > if not self.preexist: >- retval = lvm.clampLVSizeRequest(retval, vgreq.pesize) >+ retval = lvm.clampLVSizeRequest(retval, pesize) > > return retval >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 463780
:
317608
|
317675
|
317677
| 318049