After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 607165 - Add support for devices with sector sizes greater than 512 bytes
Add support for devices with sector sizes greater than 512 bytes
Status: RESOLVED FIXED
Product: gparted
Classification: Other
Component: application
0.5.0
Other Linux
: Normal normal
: ---
Assigned To: gparted maintainers alias
gparted maintainers alias
Depends on:
Blocks:
 
 
Reported: 2010-01-16 18:20 UTC by Curtis Gedak
Modified: 2010-06-18 16:22 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Curtis Gedak 2010-01-16 18:20:38 UTC
Currently GParted does not properly support devices with sector sizes other than 512 bytes.

This results in problems such as undetected partition tables, and crashes when trying to format such devices:
See bug #497924 and bug #595309

Parted versions 2.0+ are supposed to have better support for devices with sector sizes > 512 bytes:
http://lists.alioth.debian.org/pipermail/parted-devel/2009-October/003225.html

Devices with sector sizes > 512 bytes will likely become much more common in the future.
Comment 1 Curtis Gedak 2010-02-02 20:05:20 UTC
In the above post the first bug referenced was off by one.  The relevant bug report is bug #497925.
Comment 2 Curtis Gedak 2010-05-03 16:40:30 UTC
Much progress has been made on this enhancement and has been checked into the git repository.

During this development, I have discovered the need for a smaller partition alignment than the current default of "Round to Cylinders".  Following is some of my reasoning:

The size of a cylinder can be calculated using the following formula:

  Cylinder Size = (# of Heads) * (# of sectors per track) * (bytes per sector)

With today's larger drives and a 512 byte sector size this yields:

  8 MB = (255 heads) * (63 sectors) * (512 bytes)

With the new drives using a 4096 byte sector size, this value jumps to:

  63 MB = (255 heads) * (63 sectors) * (4096 bytes)

The original reason for aligning to cylinder values was to enhance drive performance.  This alignment need was used for old operating systems like DOS.  Today's operating systems do not require alignment to cylinder values.

Also today's drives usually fake the Cylinder/Heads/Sectors geometry as this no longer corresponds to the hard drives actual geometry.  Hence aligning to cylinders is no longer valid for performance, and might actually hamper performance in the case of RAID systems.

With this in mind I see the need for a "Round to Mebibyte" partition alignment option and belive it should become the default alignment option.

Other recent operating systems releases such as Ubuntu 10.04 Lucid Lynx, and Windows 7 also appear to align partitions on 1 MiB boundaries as can be seen by using the installers that come with these operating systems.  Each appears to reserve 1 MiB for the Master Boot Record at the front of the drive prior to first partition.  Previous versions of these OS's reserved only 63 sectors (one track) which was traditional for aligning partitions to cylinders.

Using a value of 1 MiB should allow good drive performance for sector sizes of 512 bytes up to some recently released 4096 byte sector drives, and also provide room to handle future larger sector drives.
Comment 3 Curtis Gedak 2010-05-28 18:29:15 UTC
Several enhancements have been committed to the git repository to support devices with sector sizes larger than 512 bytes.

A forum post has been created seeking help with testing:
http://gparted-forum.surf4.info/viewtopic.php?id=14135
Comment 4 Curtis Gedak 2010-06-18 16:22:19 UTC
This enhancement will be included in the next release of GParted (0.6.0).

Closing this bug.