FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 04-27-2012, 06:02 PM
David Lehman
 
Default Show proper message when we cannot allocate enough space for / and swap

On Fri, 2012-04-27 at 12:07 +0200, Vratislav Podzimek wrote:
> We try to create swap big enough for hibernation in autopartioning,
> but this can be a problem on machines with a lot of RAM and small disks.
> Since we shouldn't create swap not enough big for hibernation, just
> let users know they should use custom partitioning in such cases.
>
> Resolves: rhbz#815557
>
> <not-in-commit-message>
> This patch means that we don't need flexible swap suggestions, agreed?
> </not-in-commit-message>

I don't even care if we have flexible suggestions, but if you remove the
ranges, you should remove the code that is only there to accommodate the
ranges.

> ---
> storage/partitioning.py | 17 ++++++++++++++++-
> 1 files changed, 16 insertions(+), 1 deletions(-)
>
> diff --git a/storage/partitioning.py b/storage/partitioning.py
> index b038c23..d8a5a6a 100644
> --- a/storage/partitioning.py
> +++ b/storage/partitioning.py
> @@ -1716,7 +1716,22 @@ def growLVM(storage):
> if total_free < 0:
> # by now we have allocated the PVs so if there isn't enough
> # space in the VG we have a real problem
> - raise PartitioningError("not enough space for LVM requests")
> +
> + # if we cannot allocate enough space for / and swap, show
> + # proper error message
> + swap_plus_root = 0
> + for lv in vg.lvs:
> + if lv.format.type == "swap" or lv.format.mountpoint == "/":
> + swap_plus_root += lv.minSize

You should sum up lv.req_size values. minSize is the minimum size for
existing devices or filesystems and is used as a lower bound for resize.

> +
> + additional_msg = ""
> + if swap_plus_root > vg.size:
> + additional_msg = "

Cannot allocate enough space for / "
> + "and swap big enough to allow hibernation.
"
> + "Use custom partitioning, please."
> +
> + raise PartitioningError("not enough space for LVM requests" +
> + additional_msg)

This will get triggered for cases other than the one you are describing.
Perhaps you should add a check that swap is the same size as ram?

> elif not total_free:
> log.debug("vg %s has no free space" % vg.name)
> continue


_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
 
Old 04-27-2012, 06:26 PM
Vratislav Podzimek
 
Default Show proper message when we cannot allocate enough space for / and swap

On Fri, 2012-04-27 at 13:02 -0500, David Lehman wrote:
> On Fri, 2012-04-27 at 12:07 +0200, Vratislav Podzimek wrote:
> > We try to create swap big enough for hibernation in autopartioning,
> > but this can be a problem on machines with a lot of RAM and small disks.
> > Since we shouldn't create swap not enough big for hibernation, just
> > let users know they should use custom partitioning in such cases.
> >
> > Resolves: rhbz#815557
> >
> > <not-in-commit-message>
> > This patch means that we don't need flexible swap suggestions, agreed?
> > </not-in-commit-message>
>
> I don't even care if we have flexible suggestions, but if you remove the
> ranges, you should remove the code that is only there to accommodate the
> ranges.
Do we want to make such a change on the rhel6-branch? I'd rather leave
it there and change this only on master.

>
> > ---
> > storage/partitioning.py | 17 ++++++++++++++++-
> > 1 files changed, 16 insertions(+), 1 deletions(-)
> >
> > diff --git a/storage/partitioning.py b/storage/partitioning.py
> > index b038c23..d8a5a6a 100644
> > --- a/storage/partitioning.py
> > +++ b/storage/partitioning.py
> > @@ -1716,7 +1716,22 @@ def growLVM(storage):
> > if total_free < 0:
> > # by now we have allocated the PVs so if there isn't enough
> > # space in the VG we have a real problem
> > - raise PartitioningError("not enough space for LVM requests")
> > +
> > + # if we cannot allocate enough space for / and swap, show
> > + # proper error message
> > + swap_plus_root = 0
> > + for lv in vg.lvs:
> > + if lv.format.type == "swap" or lv.format.mountpoint == "/":
> > + swap_plus_root += lv.minSize
>
> You should sum up lv.req_size values. minSize is the minimum size for
> existing devices or filesystems and is used as a lower bound for resize.
I've checked that and req_size for / was about 50 GB even when I had 5
GB virtual drive. So that would be triggered almost every time.

>
> > +
> > + additional_msg = ""
> > + if swap_plus_root > vg.size:
> > + additional_msg = "

Cannot allocate enough space for / "
> > + "and swap big enough to allow hibernation.
"
> > + "Use custom partitioning, please."
> > +
> > + raise PartitioningError("not enough space for LVM requests" +
> > + additional_msg)
>
> This will get triggered for cases other than the one you are describing.
> Perhaps you should add a check that swap is the same size as ram?
Good point, thanks.

--
Vratislav Podzimek <vpodzime@redhat.com>

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
 

Thread Tools




All times are GMT. The time now is 11:33 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org