[Libguestfs] [PATCH v5 REBASE 0/4] virt-resize: add support for resizing logical

Hu Tao hutao at cn.fujitsu.com
Tue Feb 3 06:51:10 UTC 2015


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.

Type extended_partition is better to inherit from type partition, but I
don't know how to do it in OCaml.

Regards,
Hu

> 
> (The other part is that these are still high risk patches that are
> likely to break virt-resize than do anything useful.  It would IMO be
> better to discourage people from using logical partitions in the first
> place, especially since a good alternative -- GPT -- exists.)
> 
> Rich.
> 
> -- 
> Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
> Read my programming and virtualization blog: http://rwmj.wordpress.com
> Fedora Windows cross-compiler. Compile Windows programs, test, and
> build Windows installers. Over 100 libraries supported.
> http://fedoraproject.org/wiki/MinGW




More information about the Libguestfs mailing list