The machine has one disk with 3 partitions and entire disk space allotted to these partitions.
During F12 installation , I chose 'create custom layout' option and went ahead to resize one of the
partition to stretch beyond it's current allocated size. Since the disk is full this action errors
out. But a window pops up informing that an exception has not been handled and it gives an option to
save the report, debug it or exit. I saved the report and the installer exits after this. We cannot
continue with resizing/partitioning the disk again. System needs to be restarted for installation.
kernel version 2.6.31-0.125.4.2.rc5.git2.fc12 , F12 Alpha
anaconda 12.15 exception report
Traceback (most recent call first):
File "/usr/lib/python2.6/site-packages/parted/disk.py", line 254, in setPartitionGeometry
File "/usr/lib/python2.6/site-packages/parted/decorators.py", line 30, in localeC
ret = fn(*args, **kwds)
File "<string>", line 2, in setPartitionGeometry
File "/usr/lib/anaconda/storage/devices.py", line 1061, in _setTargetSize
File "/usr/lib/anaconda/storage/devices.py", line 486, in <lambda>
lambda s, v: s._setTargetSize(v),
File "/usr/lib/anaconda/storage/deviceaction.py", line 239, in __init__
self.device.targetSize = newsize
File "/usr/lib/anaconda/iw/partition_dialog_gui.py", line 293, in run
File "/usr/lib/anaconda/iw/partition_gui.py", line 1121, in editPartition
actions = parteditor.run()
File "/usr/lib/anaconda/iw/partition_gui.py", line 1082, in editCB
PartitionException: Can't have overlapping partitions.
report saved through gui
tar'ed files from /tmp/
Created attachment 359395 [details]
report saved through gui
Created attachment 359396 [details]
(In reply to comment #0)
> The machine has one disk with 3 partitions and entire disk space allotted to
> these partitions.
> During F12 installation , I chose 'create custom layout' option and went ahead
> to resize one of the
> partition to stretch beyond it's current allocated size. Since the disk is
> full this action errors
> out. But a window pops up informing that an exception has not been handled and
> it gives an option to
> save the report, debug it or exit. I saved the report and the installer exits
> after this. We cannot
> continue with resizing/partitioning the disk again. System needs to be
> restarted for installation.
What exactly were the 3 partitions and filesystems? Primary, any extended? ext2, ext3, ext4, ntfs, ... ?
Nevermind, I found the fdisk_l_output file in the tar file attached to the bug:
Disk /dev/sda: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xea86ea86
Device Boot Start End Blocks Id System
/dev/sda1 * 1 1290 10361893+ 7 HPFS/NTFS
/dev/sda2 1291 4611 26675932+ 83 Linux
/dev/sda3 4612 4865 2040255 82 Linux swap / Solaris
I see what's happening here. You can resize an NTFS volume and take it to one MB beyond it's maximum size. For ext2/3/4, that doesn't happen. We do restrict you to the max size of the volume when resizing, so really you can only shrink a volume, but our max size calculation for NTFS appears to be off by one.
The problem is in the _getExistingSize() method in storage/formats/fs.py. When we compute the size of an existing filesystem, the result is rounded up. For the example I had locally, the NTFS filesystem was computed at 153770.57 MB, which was rounded up to 153771. When I checked Resize and expanded it by one MB, I got the traceback you reported.
I've created the following patch to address the issue:
diff --git a/storage/formats/fs.py b/storage/formats/fs.py
index a78ecb2..c549942 100644
@@ -27,6 +27,7 @@
- bug 472127: allow creation of tmpfs filesystems (/tmp, /var/tmp, &c)
@@ -262,7 +263,7 @@ class FS(DeviceFormat):
size *= value
# report current size as megabytes
- size = size / 1024.0 / 1024.0
+ size = math.floor(size / 1024.0 / 1024.0)
except Exception as e:
log.error("failed to obtain size of filesystem on %s: %s"
% (self.device, e))
This will be fixed in either anaconda-12.33-1 or anaconda-13.0-1, whichever comes next.
------- Comment From 2009-10-06 02:16 EDT-------
Thanks Dave, I will verify this issue in the next beta and update the results in this bug. thanks