On Tue, Feb 03, 2015 at 02:51:10PM +0800, Hu Tao wrote:
On Wed, Jan 28, 2015 at 03:43:19PM +0000, Richard W.M. Jones wrote:
> On Wed, Jan 28, 2015 at 02:24:15PM +0800, Hu Tao wrote:
> > On Wed, Dec 17, 2014 at 03:07:11PM +0800, Hu Tao wrote:
> > > On Thu, Oct 30, 2014 at 10:46:52AM +0800, Hu Tao wrote:
> > > > Hi Rich,
> > > >
> > > > This is rebase of v5 series. Meanwhile, I found a bug when shrinking
> > > > partitions, and the fix is incuded in this version (patch 2).
> > >
> > > Hi,
> > >
> > > When support to resizing logical partitions is enabled, there is a
> > > problem about resizing the extended partition: whether the extended
> > > partition is automatically resized (expanded or shrunk) by virt-resize
> > > based on the resizing of logical partitions?
> > >
> > > All the cases can be categorized as these two:
> > >
> > > 1. user doesn't explictly resize the extended partition. In this case
it
> > > seems reasonable to automatically expand the extended partition as
well.
> > >
> > > 2. user explictly resizes the extended partition. If the extended
> > > partition is resized as user requested, then we should deal with the
> > > conflicts about resizing extended partition and logical partitions,
> > > this is somewhat tricky in the current implementation; But if the
> > > extended partition is automatically resized, user will be confused as
> > > the resulting size may be what he/she expects.
> >
> > s/may be/may not be/
> >
> > I think the best choice is:
> >
> > 1. If user doesn't explictly resize the extended partition, then any
> > resizing (expanding or shrinking) of logical partitions will cause
> > the automatical resizing of the extended partition.
> >
> > 2. If user explictly resize the extended partition, then any confliction
> > between resizing of the extended partition and logical partitions
> > will raise an error.
> >
> > To achieve this, the patchset needs to be refactored heavily. So I'd
> > like to hear suggestions before starting refactor.
>
> Part of the problem I have with the original patch set is really
> nothing to do with this user input question. It's that the patches
> don't model properly how the extended partition and logical partitions
> actually work. There is one partition which is nominated as the
> extended partition (EP), and then logical partitions (LP) live inside
> that EP. At the moment we just have a list of partitions and list of
> LPs.
Do you have any idea about modelling EP and LPs?
What I can think of is adding a type extended_partition which is similar
to type partition, except that it has a member partitions of type
partition list to hold logical partitions.
However this way is rejected once. See
https://www.redhat.com/archives/libguestfs/2014-September/msg00034.html.
I'm just having no idea what is the right way now. Looking for your
suggestions on how to do it right!
Regards,
Hu