[parted-devel] "Error: Can't have a partition outside the disk!"

Richard W.M. Jones rjones at redhat.com
Wed Sep 22 13:22:39 UTC 2010


On Wed, Sep 22, 2010 at 03:17:03PM +0200, Jim Meyering wrote:
> Richard W.M. Jones wrote:
> > On Wed, Sep 15, 2010 at 05:47:23PM +0200, Jim Meyering wrote:
> >> Richard W.M. Jones wrote:
> >> > If you take a virtual disk and truncate it, then likely some
> >> > partitions in the partition table will be off the end of the disk.
> >> >
> >> > However parted refuses to start up in this case.  It says:
> >> >
> >> >   Error: Can't have a partition outside the disk!
> >> >
> >> > even if you are trying to do something sensible such as deleting a
> >> > partition which is outside the disk.
> >> >
> >> > I can't really see a "good" way to solve this, since it happens in the
> >> > depths of the constraints/geometry code.  The attached patch just
> >> > deletes the error check, on the basis that parted should confine
> >> > itself to partition tables and not worry about the size of the disk.
> >> > Discuss ...
> >>
> >> Hi Rich,
> >>
> >> What is your use case?  It seems rather unusual
> >> to want to do something with existing partitions
> >> once you have shrunk the underlying device.
> >> IMHO, that is not enough of a reason to remove
> >> the offending check altogether.
> >
> > We want to shrink the disk, then recreate the partition table, but at
> > the same time preserve the boot sector and boot loader.  To do this we
> > copy the blocks at the start of the disk (up to just before the first
> > partition), then attach to this disk and remove the existing
> > partitions.  The parted program fails at this point.
> 
> Hi Rich,
> 
> If you first remove all partitions (possibly exempting any
> GRUB_BIOS partition), or at least the partitions that would be
> impacted by the planned shrinkage, you will have no problem.
> Can you do that?
> 
> That worked for me in a contrived example.

I guess so, but unfortunately it doesn't work with the architecture of
virt-resize.  I will look into whether we can change how we do things ...

It would be nice if parted 'just worked' more often though, instead of
necessitating so many workarounds.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://et.redhat.com/~rjones/virt-top



More information about the parted-devel mailing list