[openFATE 306443] change parted to use Hardware suggested sectors per track

Feature added by: Dean Giles (dgiles) Feature #306443, revision 1, last change by Title: change parted to use Hardware suggested sectors per track openSUSE-11.2: Unconfirmed Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Arvin Schnell (aschnell) Feature #306443, revision 2 Title: change parted to use Hardware suggested sectors per track openSUSE-11.2: Unconfirmed Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. - Dean -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Andreas Jaeger (a_jaeger) Feature #306443, revision 5 Title: change parted to use Hardware suggested sectors per track - openSUSE-11.2: Unconfirmed + openSUSE-11.2: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Andreas Jaeger (a_jaeger) Feature #306443, revision 6 Title: change parted to use Hardware suggested sectors per track - openSUSE-11.2: Evaluation + openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) + reject date: 2009-08-11 15:45:20 + reject reason: Too late for openSUSE 11.2 Priority Requester: Important + openSUSE-11.3: Evaluation + Priority + Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Jan Engelhardt (jengelh) Feature #306443, revision 10 Title: change parted to use Hardware suggested sectors per track openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important openSUSE-11.3: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean + Discussion: + #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) + SPT is meaningless with modern disks (especially metadevices such as + combined disks to a raid); furthermore modern operating systems only + use LBA; CHS is only for terribly old disks and for partitioning MSDOS + ptabs. -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Stephan Kulow (coolo) Feature #306443, revision 11 Title: change parted to use Hardware suggested sectors per track openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important openSUSE-11.3: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean Discussion: #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) SPT is meaningless with modern disks (especially metadevices such as combined disks to a raid); furthermore modern operating systems only use LBA; CHS is only for terribly old disks and for partitioning MSDOS ptabs. + #2: Stephan Kulow (coolo) (2010-02-08 11:23:14) + I would think this should go to the upstream project. I don't see us + doing such things against parted project. -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Jan Engelhardt (jengelh) Feature #306443, revision 12 Title: change parted to use Hardware suggested sectors per track openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important openSUSE-11.3: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean Discussion: #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) SPT is meaningless with modern disks (especially metadevices such as combined disks to a raid); furthermore modern operating systems only use LBA; CHS is only for terribly old disks and for partitioning MSDOS ptabs. + #3: Jan Engelhardt (jengelh) (2010-02-14 21:16:57) (reply to #1) + Especially since harddisks themselves usually lie about their geometry. + + # hdparm -I /dev/sda + ATA device, with non-removable media + Model Number: WDC WD400EB-00CPF0 + Serial Number: WD-WCAAT5461367 + Firmware Revision: 06.04G06 + Standards: + Supported: 5 4 3 + Likely used: 6 + Configuration: + Logical max current + cylinders 16383 4047 + heads 16 16 + sectors/track 63 255 + + Let's dissect that. 16 Heads would indicate 8 platters (both sides are + written), which is not in line with reality (2-4 platters is more + common when you open a disk case). Furthermore, 63 or 255 SPT is pretty + inaccurate for at least one area of the disk, given that disks use + Zoned Recording these days. + + And then come RAID devices. fdisk reports them as 2 heads, 4 SPT, 32720 + cyls (for a 128 MB test vol). 4 spt... As if! Did I mention SSDs yet? #2: Stephan Kulow (coolo) (2010-02-08 11:23:14) I would think this should go to the upstream project. I don't see us doing such things against parted project. -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Greg Freemyer (gregfreemyer) Feature #306443, revision 13 Title: change parted to use Hardware suggested sectors per track openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important openSUSE-11.3: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean Discussion: #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) SPT is meaningless with modern disks (especially metadevices such as combined disks to a raid); furthermore modern operating systems only use LBA; CHS is only for terribly old disks and for partitioning MSDOS ptabs. #3: Jan Engelhardt (jengelh) (2010-02-14 21:16:57) (reply to #1) Especially since harddisks themselves usually lie about their geometry. # hdparm -I /dev/sda ATA device, with non-removable media Model Number: WDC WD400EB-00CPF0 Serial Number: WD-WCAAT5461367 Firmware Revision: 06.04G06 Standards: Supported: 5 4 3 Likely used: 6 Configuration: Logical max current cylinders 16383 4047 heads 16 16 sectors/track 63 255 Let's dissect that. 16 Heads would indicate 8 platters (both sides are written), which is not in line with reality (2-4 platters is more common when you open a disk case). Furthermore, 63 or 255 SPT is pretty inaccurate for at least one area of the disk, given that disks use Zoned Recording these days. And then come RAID devices. fdisk reports them as 2 heads, 4 SPT, 32720 cyls (for a 128 MB test vol). 4 spt... As if! Did I mention SSDs yet? #2: Stephan Kulow (coolo) (2010-02-08 11:23:14) I would think this should go to the upstream project. I don't see us doing such things against parted project. + #4: Greg Freemyer (gregfreemyer) (2010-02-15 21:36:52) + I think this should be re-opened. + + I agree that part of the work should come from the parted upstream, but + the issue applies to ALL partitions created/proposed via opensuse + during install time. I really doubt that parted is responsible for + creating the full opensuse partitioning proposal. + + ==> details + + If anyone does decide to look into this they need to ignore the + HDIO_GETGEO ioctl. It is no longer the official kernel source for this + information. + + As documented in the kernel under Documentation/ABI/testing/sysfs- + block, the correct place to get partition alignment info is /sysfs. + + Especially with the advent of 4K physical sector HDDs this past fall it + is critical that the partitions align with the physical sectors or else + you get the highly unoptimal situation that updating a single 4K kernel + page to disk causes two 4K sectors to be updated. + + Thus in the optimumly aligned case it is one i/o to update a 4K kernel + page out to a 4K physical sector. In the non-aligned case it is four + i/o's. Most of the work is in the HDD controller, but it takes real + world milliseconds non-the-less: + + HDD controller read physical sector 1, + HDD controller read physical sector 2, + HDD controller modify the sector 1 & 2 data, + HDD controller write physical sector 1 + HDD controller write physical secotr 2 + + Thus it is important that the opensuse proposed partition scheme for + these drives propose partitions that align with the physical sectors of + these drives. + -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Greg Freemyer (gregfreemyer) Feature #306443, revision 14 Title: change parted to use Hardware suggested sectors per track openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important openSUSE-11.3: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean Discussion: #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) SPT is meaningless with modern disks (especially metadevices such as combined disks to a raid); furthermore modern operating systems only use LBA; CHS is only for terribly old disks and for partitioning MSDOS ptabs. #3: Jan Engelhardt (jengelh) (2010-02-14 21:16:57) (reply to #1) Especially since harddisks themselves usually lie about their geometry. # hdparm -I /dev/sda ATA device, with non-removable media Model Number: WDC WD400EB-00CPF0 Serial Number: WD-WCAAT5461367 Firmware Revision: 06.04G06 Standards: Supported: 5 4 3 Likely used: 6 Configuration: Logical max current cylinders 16383 4047 heads 16 16 sectors/track 63 255 Let's dissect that. 16 Heads would indicate 8 platters (both sides are written), which is not in line with reality (2-4 platters is more common when you open a disk case). Furthermore, 63 or 255 SPT is pretty inaccurate for at least one area of the disk, given that disks use Zoned Recording these days. And then come RAID devices. fdisk reports them as 2 heads, 4 SPT, 32720 cyls (for a 128 MB test vol). 4 spt... As if! Did I mention SSDs yet? #2: Stephan Kulow (coolo) (2010-02-08 11:23:14) I would think this should go to the upstream project. I don't see us doing such things against parted project. #4: Greg Freemyer (gregfreemyer) (2010-02-15 21:36:52) I think this should be re-opened. I agree that part of the work should come from the parted upstream, but the issue applies to ALL partitions created/proposed via opensuse during install time. I really doubt that parted is responsible for creating the full opensuse partitioning proposal. ==> details If anyone does decide to look into this they need to ignore the HDIO_GETGEO ioctl. It is no longer the official kernel source for this information. As documented in the kernel under Documentation/ABI/testing/sysfs- block, the correct place to get partition alignment info is /sysfs. Especially with the advent of 4K physical sector HDDs this past fall it is critical that the partitions align with the physical sectors or else you get the highly unoptimal situation that updating a single 4K kernel page to disk causes two 4K sectors to be updated. Thus in the optimumly aligned case it is one i/o to update a 4K kernel page out to a 4K physical sector. In the non-aligned case it is four i/o's. Most of the work is in the HDD controller, but it takes real world milliseconds non-the-less: HDD controller read physical sector 1, HDD controller read physical sector 2, HDD controller modify the sector 1 & 2 data, HDD controller write physical sector 1 HDD controller write physical secotr 2 Thus it is important that the opensuse proposed partition scheme for these drives propose partitions that align with the physical sectors of these drives. + #5: Greg Freemyer (gregfreemyer) (2010-02-17 19:23:10) + Per < + http://old.nabble.com/parted-2.1-released--stable--td26878024.html> (http://old.nabble.com/parted-2.1-released--stable--td26878024.html% + 3E) the upstream work is done as of parted 2.1 which is two months + old. I don't know if that's in factory yet or not. + + Now Opensuse needs to invoke it correctly. I would like to see -- + align=optimal used. + + == specific new parted feature + ** New features + new --align=<align> commandline option which can have the following + values: + none: Use the minimum alignment allowed by the disk type + cylinder: Align partitions to cylinders (the default) + minimal: Use minimum alignment as given by the disk topology + information + optimal: Use optimum alignment as given by the disk topology + information + + The minimal and optimal values will use layout information provided by + the disk to align the logical partition table addresses to actual + physical blocks on the disks. The mininal value uses the minimum + aligment needed to align the partition properly to physical blocks, + which avoids performance degradation. Where as the optimal value uses + a multiple of the physical block size in a way that guarantees + optimal performance. The min and opt values will only work when + compiled with libblkid >= 2.17 and running on a kernel >= 2.6.31, + otherwise they will behave as the none --align value. + === -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Petr Uzel (puzel) Feature #306443, revision 15 Title: change parted to use Hardware suggested sectors per track openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important openSUSE-11.3: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean Discussion: #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) SPT is meaningless with modern disks (especially metadevices such as combined disks to a raid); furthermore modern operating systems only use LBA; CHS is only for terribly old disks and for partitioning MSDOS ptabs. #3: Jan Engelhardt (jengelh) (2010-02-14 21:16:57) (reply to #1) Especially since harddisks themselves usually lie about their geometry. - # hdparm -I /dev/sda ATA device, with non-removable media Model Number: WDC WD400EB-00CPF0 Serial Number: WD-WCAAT5461367 Firmware Revision: 06.04G06 Standards: Supported: 5 4 3 Likely used: 6 Configuration: Logical max current cylinders 16383 4047 heads 16 16 sectors/track 63 255 - Let's dissect that. 16 Heads would indicate 8 platters (both sides are written), which is not in line with reality (2-4 platters is more common when you open a disk case). Furthermore, 63 or 255 SPT is pretty inaccurate for at least one area of the disk, given that disks use Zoned Recording these days. - And then come RAID devices. fdisk reports them as 2 heads, 4 SPT, 32720 cyls (for a 128 MB test vol). 4 spt... As if! Did I mention SSDs yet? #2: Stephan Kulow (coolo) (2010-02-08 11:23:14) I would think this should go to the upstream project. I don't see us doing such things against parted project. #4: Greg Freemyer (gregfreemyer) (2010-02-15 21:36:52) I think this should be re-opened. - I agree that part of the work should come from the parted upstream, but the issue applies to ALL partitions created/proposed via opensuse during install time. I really doubt that parted is responsible for creating the full opensuse partitioning proposal. - ==> details - If anyone does decide to look into this they need to ignore the HDIO_GETGEO ioctl. It is no longer the official kernel source for this information. - As documented in the kernel under Documentation/ABI/testing/sysfs- block, the correct place to get partition alignment info is /sysfs. - Especially with the advent of 4K physical sector HDDs this past fall it is critical that the partitions align with the physical sectors or else you get the highly unoptimal situation that updating a single 4K kernel page to disk causes two 4K sectors to be updated. - Thus in the optimumly aligned case it is one i/o to update a 4K kernel page out to a 4K physical sector. In the non-aligned case it is four i/o's. Most of the work is in the HDD controller, but it takes real world milliseconds non-the-less: - HDD controller read physical sector 1, HDD controller read physical sector 2, HDD controller modify the sector 1 & 2 data, HDD controller write physical sector 1 HDD controller write physical secotr 2 - Thus it is important that the opensuse proposed partition scheme for these drives propose partitions that align with the physical sectors of these drives. - #5: Greg Freemyer (gregfreemyer) (2010-02-17 19:23:10) Per < http://old.nabble.com/parted-2.1-released--stable--td26878024.html> (http://old.nabble.com/parted-2.1-released--stable--td26878024.html% 3E) the upstream work is done as of parted 2.1 which is two months old. I don't know if that's in factory yet or not. - Now Opensuse needs to invoke it correctly. I would like to see -- align=optimal used. - == specific new parted feature ** New features new --align=<align> commandline option which can have the following values: none: Use the minimum alignment allowed by the disk type cylinder: Align partitions to cylinders (the default) minimal: Use minimum alignment as given by the disk topology information optimal: Use optimum alignment as given by the disk topology information - The minimal and optimal values will use layout information provided by the disk to align the logical partition table addresses to actual physical blocks on the disks. The mininal value uses the minimum aligment needed to align the partition properly to physical blocks, which avoids performance degradation. Where as the optimal value uses a multiple of the physical block size in a way that guarantees optimal performance. The min and opt values will only work when compiled with libblkid >= 2.17 and running on a kernel >= 2.6.31, otherwise they will behave as the none --align value. === + #6: Petr Uzel (puzel) (2010-02-18 12:15:05) (reply to #5) + parted-2.1 should get to Factory in a one or two weeks (the package is + ready in my home project, but we have to wait until device-mapper gets + updated). -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Greg Freemyer (gregfreemyer) Feature #306443, revision 16 - Title: change parted to use Hardware suggested sectors per track + Title: Update yast partitioner to leverage latest upstream parted 2.1 + to use hardware topology openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important openSUSE-11.3: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean Discussion: #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) SPT is meaningless with modern disks (especially metadevices such as combined disks to a raid); furthermore modern operating systems only use LBA; CHS is only for terribly old disks and for partitioning MSDOS ptabs. #3: Jan Engelhardt (jengelh) (2010-02-14 21:16:57) (reply to #1) Especially since harddisks themselves usually lie about their geometry. # hdparm -I /dev/sda ATA device, with non-removable media Model Number: WDC WD400EB-00CPF0 Serial Number: WD-WCAAT5461367 Firmware Revision: 06.04G06 Standards: Supported: 5 4 3 Likely used: 6 Configuration: Logical max current cylinders 16383 4047 heads 16 16 sectors/track 63 255 Let's dissect that. 16 Heads would indicate 8 platters (both sides are written), which is not in line with reality (2-4 platters is more common when you open a disk case). Furthermore, 63 or 255 SPT is pretty inaccurate for at least one area of the disk, given that disks use Zoned Recording these days. And then come RAID devices. fdisk reports them as 2 heads, 4 SPT, 32720 cyls (for a 128 MB test vol). 4 spt... As if! Did I mention SSDs yet? #2: Stephan Kulow (coolo) (2010-02-08 11:23:14) I would think this should go to the upstream project. I don't see us doing such things against parted project. #4: Greg Freemyer (gregfreemyer) (2010-02-15 21:36:52) I think this should be re-opened. I agree that part of the work should come from the parted upstream, but the issue applies to ALL partitions created/proposed via opensuse during install time. I really doubt that parted is responsible for creating the full opensuse partitioning proposal. ==> details If anyone does decide to look into this they need to ignore the HDIO_GETGEO ioctl. It is no longer the official kernel source for this information. As documented in the kernel under Documentation/ABI/testing/sysfs- block, the correct place to get partition alignment info is /sysfs. Especially with the advent of 4K physical sector HDDs this past fall it is critical that the partitions align with the physical sectors or else you get the highly unoptimal situation that updating a single 4K kernel page to disk causes two 4K sectors to be updated. Thus in the optimumly aligned case it is one i/o to update a 4K kernel page out to a 4K physical sector. In the non-aligned case it is four i/o's. Most of the work is in the HDD controller, but it takes real world milliseconds non-the-less: HDD controller read physical sector 1, HDD controller read physical sector 2, HDD controller modify the sector 1 & 2 data, HDD controller write physical sector 1 HDD controller write physical secotr 2 Thus it is important that the opensuse proposed partition scheme for these drives propose partitions that align with the physical sectors of these drives. #5: Greg Freemyer (gregfreemyer) (2010-02-17 19:23:10) Per < http://old.nabble.com/parted-2.1-released--stable--td26878024.html> (http://old.nabble.com/parted-2.1-released--stable--td26878024.html% 3E) the upstream work is done as of parted 2.1 which is two months old. I don't know if that's in factory yet or not. Now Opensuse needs to invoke it correctly. I would like to see -- align=optimal used. == specific new parted feature ** New features new --align=<align> commandline option which can have the following values: none: Use the minimum alignment allowed by the disk type cylinder: Align partitions to cylinders (the default) minimal: Use minimum alignment as given by the disk topology information optimal: Use optimum alignment as given by the disk topology information The minimal and optimal values will use layout information provided by the disk to align the logical partition table addresses to actual physical blocks on the disks. The mininal value uses the minimum aligment needed to align the partition properly to physical blocks, which avoids performance degradation. Where as the optimal value uses a multiple of the physical block size in a way that guarantees optimal performance. The min and opt values will only work when compiled with libblkid >= 2.17 and running on a kernel >= 2.6.31, otherwise they will behave as the none --align value. === #6: Petr Uzel (puzel) (2010-02-18 12:15:05) (reply to #5) parted-2.1 should get to Factory in a one or two weeks (the package is ready in my home project, but we have to wait until device-mapper gets updated). -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Greg Freemyer (gregfreemyer) Feature #306443, revision 17 Title: Update yast partitioner to leverage latest upstream parted 2.1 to use hardware topology openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important openSUSE-11.3: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean + + parted 2.1 supposidely now supports various topology calls via sysfs, + block device ioctls, libblkid, etc and attempts to align at least the + first partition per the hardware topology. + + The yast partitioner now needs to be updated to leverage this new + functionality. I suggest a UI change to allow the user to select how + the new --align parameter is set. + + Greg Discussion: #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) SPT is meaningless with modern disks (especially metadevices such as combined disks to a raid); furthermore modern operating systems only use LBA; CHS is only for terribly old disks and for partitioning MSDOS ptabs. #3: Jan Engelhardt (jengelh) (2010-02-14 21:16:57) (reply to #1) Especially since harddisks themselves usually lie about their geometry. # hdparm -I /dev/sda ATA device, with non-removable media Model Number: WDC WD400EB-00CPF0 Serial Number: WD-WCAAT5461367 Firmware Revision: 06.04G06 Standards: Supported: 5 4 3 Likely used: 6 Configuration: Logical max current cylinders 16383 4047 heads 16 16 sectors/track 63 255 Let's dissect that. 16 Heads would indicate 8 platters (both sides are written), which is not in line with reality (2-4 platters is more common when you open a disk case). Furthermore, 63 or 255 SPT is pretty inaccurate for at least one area of the disk, given that disks use Zoned Recording these days. And then come RAID devices. fdisk reports them as 2 heads, 4 SPT, 32720 cyls (for a 128 MB test vol). 4 spt... As if! Did I mention SSDs yet? #2: Stephan Kulow (coolo) (2010-02-08 11:23:14) I would think this should go to the upstream project. I don't see us doing such things against parted project. #4: Greg Freemyer (gregfreemyer) (2010-02-15 21:36:52) I think this should be re-opened. I agree that part of the work should come from the parted upstream, but the issue applies to ALL partitions created/proposed via opensuse during install time. I really doubt that parted is responsible for creating the full opensuse partitioning proposal. ==> details If anyone does decide to look into this they need to ignore the HDIO_GETGEO ioctl. It is no longer the official kernel source for this information. As documented in the kernel under Documentation/ABI/testing/sysfs- block, the correct place to get partition alignment info is /sysfs. Especially with the advent of 4K physical sector HDDs this past fall it is critical that the partitions align with the physical sectors or else you get the highly unoptimal situation that updating a single 4K kernel page to disk causes two 4K sectors to be updated. Thus in the optimumly aligned case it is one i/o to update a 4K kernel page out to a 4K physical sector. In the non-aligned case it is four i/o's. Most of the work is in the HDD controller, but it takes real world milliseconds non-the-less: HDD controller read physical sector 1, HDD controller read physical sector 2, HDD controller modify the sector 1 & 2 data, HDD controller write physical sector 1 HDD controller write physical secotr 2 Thus it is important that the opensuse proposed partition scheme for these drives propose partitions that align with the physical sectors of these drives. #5: Greg Freemyer (gregfreemyer) (2010-02-17 19:23:10) Per < http://old.nabble.com/parted-2.1-released--stable--td26878024.html> (http://old.nabble.com/parted-2.1-released--stable--td26878024.html% 3E) the upstream work is done as of parted 2.1 which is two months old. I don't know if that's in factory yet or not. Now Opensuse needs to invoke it correctly. I would like to see -- align=optimal used. == specific new parted feature ** New features new --align=<align> commandline option which can have the following values: none: Use the minimum alignment allowed by the disk type cylinder: Align partitions to cylinders (the default) minimal: Use minimum alignment as given by the disk topology information optimal: Use optimum alignment as given by the disk topology information The minimal and optimal values will use layout information provided by the disk to align the logical partition table addresses to actual physical blocks on the disks. The mininal value uses the minimum aligment needed to align the partition properly to physical blocks, which avoids performance degradation. Where as the optimal value uses a multiple of the physical block size in a way that guarantees optimal performance. The min and opt values will only work when compiled with libblkid >= 2.17 and running on a kernel >= 2.6.31, otherwise they will behave as the none --align value. === #6: Petr Uzel (puzel) (2010-02-18 12:15:05) (reply to #5) parted-2.1 should get to Factory in a one or two weeks (the package is ready in my home project, but we have to wait until device-mapper gets updated). -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Richard Bos (rbos) Feature #306443, revision 18 Title: Update yast partitioner to leverage latest upstream parted 2.1 to use hardware topology openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important openSUSE-11.3: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean parted 2.1 supposidely now supports various topology calls via sysfs, block device ioctls, libblkid, etc and attempts to align at least the first partition per the hardware topology. The yast partitioner now needs to be updated to leverage this new functionality. I suggest a UI change to allow the user to select how the new --align parameter is set. Greg Discussion: #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) SPT is meaningless with modern disks (especially metadevices such as combined disks to a raid); furthermore modern operating systems only use LBA; CHS is only for terribly old disks and for partitioning MSDOS ptabs. #3: Jan Engelhardt (jengelh) (2010-02-14 21:16:57) (reply to #1) Especially since harddisks themselves usually lie about their geometry. # hdparm -I /dev/sda ATA device, with non-removable media Model Number: WDC WD400EB-00CPF0 Serial Number: WD-WCAAT5461367 Firmware Revision: 06.04G06 Standards: Supported: 5 4 3 Likely used: 6 Configuration: Logical max current cylinders 16383 4047 heads 16 16 sectors/track 63 255 Let's dissect that. 16 Heads would indicate 8 platters (both sides are written), which is not in line with reality (2-4 platters is more common when you open a disk case). Furthermore, 63 or 255 SPT is pretty inaccurate for at least one area of the disk, given that disks use Zoned Recording these days. And then come RAID devices. fdisk reports them as 2 heads, 4 SPT, 32720 cyls (for a 128 MB test vol). 4 spt... As if! Did I mention SSDs yet? #2: Stephan Kulow (coolo) (2010-02-08 11:23:14) I would think this should go to the upstream project. I don't see us doing such things against parted project. #4: Greg Freemyer (gregfreemyer) (2010-02-15 21:36:52) I think this should be re-opened. I agree that part of the work should come from the parted upstream, but the issue applies to ALL partitions created/proposed via opensuse during install time. I really doubt that parted is responsible for creating the full opensuse partitioning proposal. ==> details If anyone does decide to look into this they need to ignore the HDIO_GETGEO ioctl. It is no longer the official kernel source for this information. As documented in the kernel under Documentation/ABI/testing/sysfs- block, the correct place to get partition alignment info is /sysfs. Especially with the advent of 4K physical sector HDDs this past fall it is critical that the partitions align with the physical sectors or else you get the highly unoptimal situation that updating a single 4K kernel page to disk causes two 4K sectors to be updated. Thus in the optimumly aligned case it is one i/o to update a 4K kernel page out to a 4K physical sector. In the non-aligned case it is four i/o's. Most of the work is in the HDD controller, but it takes real world milliseconds non-the-less: HDD controller read physical sector 1, HDD controller read physical sector 2, HDD controller modify the sector 1 & 2 data, HDD controller write physical sector 1 HDD controller write physical secotr 2 Thus it is important that the opensuse proposed partition scheme for these drives propose partitions that align with the physical sectors of these drives. #5: Greg Freemyer (gregfreemyer) (2010-02-17 19:23:10) Per < http://old.nabble.com/parted-2.1-released--stable--td26878024.html> (http://old.nabble.com/parted-2.1-released--stable--td26878024.html% 3E) the upstream work is done as of parted 2.1 which is two months old. I don't know if that's in factory yet or not. Now Opensuse needs to invoke it correctly. I would like to see -- align=optimal used. == specific new parted feature ** New features new --align=<align> commandline option which can have the following values: none: Use the minimum alignment allowed by the disk type cylinder: Align partitions to cylinders (the default) minimal: Use minimum alignment as given by the disk topology information optimal: Use optimum alignment as given by the disk topology information The minimal and optimal values will use layout information provided by the disk to align the logical partition table addresses to actual physical blocks on the disks. The mininal value uses the minimum aligment needed to align the partition properly to physical blocks, which avoids performance degradation. Where as the optimal value uses a multiple of the physical block size in a way that guarantees optimal performance. The min and opt values will only work when compiled with libblkid >= 2.17 and running on a kernel >= 2.6.31, otherwise they will behave as the none --align value. === #6: Petr Uzel (puzel) (2010-02-18 12:15:05) (reply to #5) parted-2.1 should get to Factory in a one or two weeks (the package is ready in my home project, but we have to wait until device-mapper gets updated). + #7: Richard Bos (rbos) (2010-02-25 11:31:50) + See http://bugzilla.novell.com/show_bug.cgi?id=582932 for a use case + ( Make sure that 4k based block hard drives are supported correctly by + e.g. YaST2 partitioner) + -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Petr Uzel (puzel) Feature #306443, revision 19 Title: Update yast partitioner to leverage latest upstream parted 2.1 to use hardware topology openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important openSUSE-11.3: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean - parted 2.1 supposidely now supports various topology calls via sysfs, block device ioctls, libblkid, etc and attempts to align at least the first partition per the hardware topology. - The yast partitioner now needs to be updated to leverage this new functionality. I suggest a UI change to allow the user to select how the new --align parameter is set. - Greg Discussion: #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) SPT is meaningless with modern disks (especially metadevices such as combined disks to a raid); furthermore modern operating systems only use LBA; CHS is only for terribly old disks and for partitioning MSDOS ptabs. #3: Jan Engelhardt (jengelh) (2010-02-14 21:16:57) (reply to #1) Especially since harddisks themselves usually lie about their geometry. # hdparm -I /dev/sda ATA device, with non-removable media Model Number: WDC WD400EB-00CPF0 Serial Number: WD-WCAAT5461367 Firmware Revision: 06.04G06 Standards: Supported: 5 4 3 Likely used: 6 Configuration: Logical max current cylinders 16383 4047 heads 16 16 sectors/track 63 255 Let's dissect that. 16 Heads would indicate 8 platters (both sides are written), which is not in line with reality (2-4 platters is more common when you open a disk case). Furthermore, 63 or 255 SPT is pretty inaccurate for at least one area of the disk, given that disks use Zoned Recording these days. And then come RAID devices. fdisk reports them as 2 heads, 4 SPT, 32720 cyls (for a 128 MB test vol). 4 spt... As if! Did I mention SSDs yet? #2: Stephan Kulow (coolo) (2010-02-08 11:23:14) I would think this should go to the upstream project. I don't see us doing such things against parted project. #4: Greg Freemyer (gregfreemyer) (2010-02-15 21:36:52) I think this should be re-opened. I agree that part of the work should come from the parted upstream, but the issue applies to ALL partitions created/proposed via opensuse during install time. I really doubt that parted is responsible for creating the full opensuse partitioning proposal. ==> details If anyone does decide to look into this they need to ignore the HDIO_GETGEO ioctl. It is no longer the official kernel source for this information. As documented in the kernel under Documentation/ABI/testing/sysfs- block, the correct place to get partition alignment info is /sysfs. Especially with the advent of 4K physical sector HDDs this past fall it is critical that the partitions align with the physical sectors or else you get the highly unoptimal situation that updating a single 4K kernel page to disk causes two 4K sectors to be updated. Thus in the optimumly aligned case it is one i/o to update a 4K kernel page out to a 4K physical sector. In the non-aligned case it is four i/o's. Most of the work is in the HDD controller, but it takes real world milliseconds non-the-less: HDD controller read physical sector 1, HDD controller read physical sector 2, HDD controller modify the sector 1 & 2 data, HDD controller write physical sector 1 HDD controller write physical secotr 2 Thus it is important that the opensuse proposed partition scheme for these drives propose partitions that align with the physical sectors of these drives. #5: Greg Freemyer (gregfreemyer) (2010-02-17 19:23:10) Per < http://old.nabble.com/parted-2.1-released--stable--td26878024.html> (http://old.nabble.com/parted-2.1-released--stable--td26878024.html% 3E) the upstream work is done as of parted 2.1 which is two months old. I don't know if that's in factory yet or not. Now Opensuse needs to invoke it correctly. I would like to see -- align=optimal used. == specific new parted feature ** New features new --align=<align> commandline option which can have the following values: none: Use the minimum alignment allowed by the disk type cylinder: Align partitions to cylinders (the default) minimal: Use minimum alignment as given by the disk topology information optimal: Use optimum alignment as given by the disk topology information The minimal and optimal values will use layout information provided by the disk to align the logical partition table addresses to actual physical blocks on the disks. The mininal value uses the minimum aligment needed to align the partition properly to physical blocks, which avoids performance degradation. Where as the optimal value uses a multiple of the physical block size in a way that guarantees optimal performance. The min and opt values will only work when compiled with libblkid >= 2.17 and running on a kernel >= 2.6.31, otherwise they will behave as the none --align value. === #6: Petr Uzel (puzel) (2010-02-18 12:15:05) (reply to #5) parted-2.1 should get to Factory in a one or two weeks (the package is ready in my home project, but we have to wait until device-mapper gets updated). + #8: Petr Uzel (puzel) (2010-03-02 12:05:38) (reply to #6) + Last week parted-2.2 was released, which changed the default alignment + option for newly created partitions to optimal (--align=optimal). I'm + still waiting for DM update (without it parted won't compile) - I'll + try push this forward. As soon as new DM gets to Factory, I'll push + parted-2.2. #7: Richard Bos (rbos) (2010-02-25 11:31:50) See http://bugzilla.novell.com/show_bug.cgi?id=582932 for a use case ( Make sure that 4k based block hard drives are supported correctly by e.g. YaST2 partitioner) - -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Steve Perkins (steve_perkins) Feature #306443, revision 20 Title: Update yast partitioner to leverage latest upstream parted 2.1 to use hardware topology openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important openSUSE-11.3: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean parted 2.1 supposidely now supports various topology calls via sysfs, block device ioctls, libblkid, etc and attempts to align at least the first partition per the hardware topology. The yast partitioner now needs to be updated to leverage this new functionality. I suggest a UI change to allow the user to select how the new --align parameter is set. Greg Discussion: #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) SPT is meaningless with modern disks (especially metadevices such as combined disks to a raid); furthermore modern operating systems only use LBA; CHS is only for terribly old disks and for partitioning MSDOS ptabs. #3: Jan Engelhardt (jengelh) (2010-02-14 21:16:57) (reply to #1) Especially since harddisks themselves usually lie about their geometry. # hdparm -I /dev/sda ATA device, with non-removable media Model Number: WDC WD400EB-00CPF0 Serial Number: WD-WCAAT5461367 Firmware Revision: 06.04G06 Standards: Supported: 5 4 3 Likely used: 6 Configuration: Logical max current cylinders 16383 4047 heads 16 16 sectors/track 63 255 Let's dissect that. 16 Heads would indicate 8 platters (both sides are written), which is not in line with reality (2-4 platters is more common when you open a disk case). Furthermore, 63 or 255 SPT is pretty inaccurate for at least one area of the disk, given that disks use Zoned Recording these days. And then come RAID devices. fdisk reports them as 2 heads, 4 SPT, 32720 cyls (for a 128 MB test vol). 4 spt... As if! Did I mention SSDs yet? #2: Stephan Kulow (coolo) (2010-02-08 11:23:14) I would think this should go to the upstream project. I don't see us doing such things against parted project. #4: Greg Freemyer (gregfreemyer) (2010-02-15 21:36:52) I think this should be re-opened. I agree that part of the work should come from the parted upstream, but the issue applies to ALL partitions created/proposed via opensuse during install time. I really doubt that parted is responsible for creating the full opensuse partitioning proposal. ==> details If anyone does decide to look into this they need to ignore the HDIO_GETGEO ioctl. It is no longer the official kernel source for this information. As documented in the kernel under Documentation/ABI/testing/sysfs- block, the correct place to get partition alignment info is /sysfs. Especially with the advent of 4K physical sector HDDs this past fall it is critical that the partitions align with the physical sectors or else you get the highly unoptimal situation that updating a single 4K kernel page to disk causes two 4K sectors to be updated. Thus in the optimumly aligned case it is one i/o to update a 4K kernel page out to a 4K physical sector. In the non-aligned case it is four i/o's. Most of the work is in the HDD controller, but it takes real world milliseconds non-the-less: HDD controller read physical sector 1, HDD controller read physical sector 2, HDD controller modify the sector 1 & 2 data, HDD controller write physical sector 1 HDD controller write physical secotr 2 Thus it is important that the opensuse proposed partition scheme for these drives propose partitions that align with the physical sectors of these drives. #5: Greg Freemyer (gregfreemyer) (2010-02-17 19:23:10) Per < http://old.nabble.com/parted-2.1-released--stable--td26878024.html> (http://old.nabble.com/parted-2.1-released--stable--td26878024.html% 3E) the upstream work is done as of parted 2.1 which is two months old. I don't know if that's in factory yet or not. Now Opensuse needs to invoke it correctly. I would like to see -- align=optimal used. == specific new parted feature ** New features new --align=<align> commandline option which can have the following values: none: Use the minimum alignment allowed by the disk type cylinder: Align partitions to cylinders (the default) minimal: Use minimum alignment as given by the disk topology information optimal: Use optimum alignment as given by the disk topology information The minimal and optimal values will use layout information provided by the disk to align the logical partition table addresses to actual physical blocks on the disks. The mininal value uses the minimum aligment needed to align the partition properly to physical blocks, which avoids performance degradation. Where as the optimal value uses a multiple of the physical block size in a way that guarantees optimal performance. The min and opt values will only work when compiled with libblkid >= 2.17 and running on a kernel >= 2.6.31, otherwise they will behave as the none --align value. === #6: Petr Uzel (puzel) (2010-02-18 12:15:05) (reply to #5) parted-2.1 should get to Factory in a one or two weeks (the package is ready in my home project, but we have to wait until device-mapper gets updated). #8: Petr Uzel (puzel) (2010-03-02 12:05:38) (reply to #6) Last week parted-2.2 was released, which changed the default alignment option for newly created partitions to optimal (--align=optimal). I'm still waiting for DM update (without it parted won't compile) - I'll try push this forward. As soon as new DM gets to Factory, I'll push parted-2.2. #7: Richard Bos (rbos) (2010-02-25 11:31:50) See http://bugzilla.novell.com/show_bug.cgi?id=582932 for a use case ( Make sure that 4k based block hard drives are supported correctly by e.g. YaST2 partitioner) + #9: Steve Perkins (steve_perkins) (2010-03-15 18:27:10) + I have checked out FC11.3 M3 and I would not say that this is + "resolved". Installing on WD10-EARS drive defaulted to partitions all + misaligned to 4K boundaries: sda1 63 4209029 swap + sda2 4209030 46154744 / sda3 46154745 1953520064 /home The + installation completes but the misalignment will mean write performance + is not optimised. FC13 M3 has: util-linux-ng 2.17.1 - OK, includes + alignment aware fdisk parted 1.9.0 - not alignment aware, + suggest 2.2+ mke2fs 1.41.9 - no misalignment warning - suggest + 1.41.10-5+ kernel has correct sysfs parameters. The use of 4K sectors + internally will become standard for all disk drives over the next few + years and it would be good to get FC11.3 set up for optimum + performance. As Richard notes, manual configuration of partitions will + work fine but a casual user won't do this. Can we get YaST2 to align + partitions to the optimum boundaries please? Regards + Steve -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Arvin Schnell (aschnell) Feature #306443, revision 22 Title: Update yast partitioner to leverage latest upstream parted 2.1 to use hardware topology openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important openSUSE-11.3: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean parted 2.1 supposidely now supports various topology calls via sysfs, block device ioctls, libblkid, etc and attempts to align at least the first partition per the hardware topology. The yast partitioner now needs to be updated to leverage this new functionality. I suggest a UI change to allow the user to select how the new --align parameter is set. Greg Discussion: #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) SPT is meaningless with modern disks (especially metadevices such as combined disks to a raid); furthermore modern operating systems only use LBA; CHS is only for terribly old disks and for partitioning MSDOS ptabs. #3: Jan Engelhardt (jengelh) (2010-02-14 21:16:57) (reply to #1) Especially since harddisks themselves usually lie about their geometry. # hdparm -I /dev/sda ATA device, with non-removable media Model Number: WDC WD400EB-00CPF0 Serial Number: WD-WCAAT5461367 Firmware Revision: 06.04G06 Standards: Supported: 5 4 3 Likely used: 6 Configuration: Logical max current cylinders 16383 4047 heads 16 16 sectors/track 63 255 Let's dissect that. 16 Heads would indicate 8 platters (both sides are written), which is not in line with reality (2-4 platters is more common when you open a disk case). Furthermore, 63 or 255 SPT is pretty inaccurate for at least one area of the disk, given that disks use Zoned Recording these days. And then come RAID devices. fdisk reports them as 2 heads, 4 SPT, 32720 cyls (for a 128 MB test vol). 4 spt... As if! Did I mention SSDs yet? #2: Stephan Kulow (coolo) (2010-02-08 11:23:14) I would think this should go to the upstream project. I don't see us doing such things against parted project. #4: Greg Freemyer (gregfreemyer) (2010-02-15 21:36:52) I think this should be re-opened. I agree that part of the work should come from the parted upstream, but the issue applies to ALL partitions created/proposed via opensuse during install time. I really doubt that parted is responsible for creating the full opensuse partitioning proposal. ==> details If anyone does decide to look into this they need to ignore the HDIO_GETGEO ioctl. It is no longer the official kernel source for this information. As documented in the kernel under Documentation/ABI/testing/sysfs- block, the correct place to get partition alignment info is /sysfs. Especially with the advent of 4K physical sector HDDs this past fall it is critical that the partitions align with the physical sectors or else you get the highly unoptimal situation that updating a single 4K kernel page to disk causes two 4K sectors to be updated. Thus in the optimumly aligned case it is one i/o to update a 4K kernel page out to a 4K physical sector. In the non-aligned case it is four i/o's. Most of the work is in the HDD controller, but it takes real world milliseconds non-the-less: HDD controller read physical sector 1, HDD controller read physical sector 2, HDD controller modify the sector 1 & 2 data, HDD controller write physical sector 1 HDD controller write physical secotr 2 Thus it is important that the opensuse proposed partition scheme for these drives propose partitions that align with the physical sectors of these drives. #5: Greg Freemyer (gregfreemyer) (2010-02-17 19:23:10) Per < http://old.nabble.com/parted-2.1-released--stable--td26878024.html> (http://old.nabble.com/parted-2.1-released--stable--td26878024.html% 3E) the upstream work is done as of parted 2.1 which is two months old. I don't know if that's in factory yet or not. Now Opensuse needs to invoke it correctly. I would like to see -- align=optimal used. == specific new parted feature ** New features new --align=<align> commandline option which can have the following values: none: Use the minimum alignment allowed by the disk type cylinder: Align partitions to cylinders (the default) minimal: Use minimum alignment as given by the disk topology information optimal: Use optimum alignment as given by the disk topology information The minimal and optimal values will use layout information provided by the disk to align the logical partition table addresses to actual physical blocks on the disks. The mininal value uses the minimum aligment needed to align the partition properly to physical blocks, which avoids performance degradation. Where as the optimal value uses a multiple of the physical block size in a way that guarantees optimal performance. The min and opt values will only work when compiled with libblkid >= 2.17 and running on a kernel >= 2.6.31, otherwise they will behave as the none --align value. === #6: Petr Uzel (puzel) (2010-02-18 12:15:05) (reply to #5) parted-2.1 should get to Factory in a one or two weeks (the package is ready in my home project, but we have to wait until device-mapper gets updated). #8: Petr Uzel (puzel) (2010-03-02 12:05:38) (reply to #6) Last week parted-2.2 was released, which changed the default alignment option for newly created partitions to optimal (--align=optimal). I'm still waiting for DM update (without it parted won't compile) - I'll try push this forward. As soon as new DM gets to Factory, I'll push parted-2.2. + #10: Arvin Schnell (aschnell) (2010-03-16 12:38:23) (reply to #8) + AFAIS parted needs libblkid with topology support for correct alignment + (so util-linux >= 2.17 is required). #7: Richard Bos (rbos) (2010-02-25 11:31:50) See http://bugzilla.novell.com/show_bug.cgi?id=582932 for a use case ( Make sure that 4k based block hard drives are supported correctly by e.g. YaST2 partitioner) #9: Steve Perkins (steve_perkins) (2010-03-15 18:27:10) I have checked out FC11.3 M3 and I would not say that this is "resolved". Installing on WD10-EARS drive defaulted to partitions all misaligned to 4K boundaries: sda1 63 4209029 swap sda2 4209030 46154744 / sda3 46154745 1953520064 /home The installation completes but the misalignment will mean write performance is not optimised. FC13 M3 has: util-linux-ng 2.17.1 - OK, includes alignment aware fdisk parted 1.9.0 - not alignment aware, suggest 2.2+ mke2fs 1.41.9 - no misalignment warning - suggest 1.41.10-5+ kernel has correct sysfs parameters. The use of 4K sectors internally will become standard for all disk drives over the next few years and it would be good to get FC11.3 set up for optimum performance. As Richard notes, manual configuration of partitions will work fine but a casual user won't do this. Can we get YaST2 to align partitions to the optimum boundaries please? Regards Steve -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Ralph Ulrich (ulenrich) Feature #306443, revision 24 Title: Update yast partitioner to leverage latest upstream parted 2.1 to use hardware topology openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important openSUSE-11.3: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean parted 2.1 supposidely now supports various topology calls via sysfs, block device ioctls, libblkid, etc and attempts to align at least the first partition per the hardware topology. The yast partitioner now needs to be updated to leverage this new functionality. I suggest a UI change to allow the user to select how the new --align parameter is set. Greg Discussion: #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) SPT is meaningless with modern disks (especially metadevices such as combined disks to a raid); furthermore modern operating systems only use LBA; CHS is only for terribly old disks and for partitioning MSDOS ptabs. #3: Jan Engelhardt (jengelh) (2010-02-14 21:16:57) (reply to #1) Especially since harddisks themselves usually lie about their geometry. # hdparm -I /dev/sda ATA device, with non-removable media Model Number: WDC WD400EB-00CPF0 Serial Number: WD-WCAAT5461367 Firmware Revision: 06.04G06 Standards: Supported: 5 4 3 Likely used: 6 Configuration: Logical max current cylinders 16383 4047 heads 16 16 sectors/track 63 255 Let's dissect that. 16 Heads would indicate 8 platters (both sides are written), which is not in line with reality (2-4 platters is more common when you open a disk case). Furthermore, 63 or 255 SPT is pretty inaccurate for at least one area of the disk, given that disks use Zoned Recording these days. And then come RAID devices. fdisk reports them as 2 heads, 4 SPT, 32720 cyls (for a 128 MB test vol). 4 spt... As if! Did I mention SSDs yet? #2: Stephan Kulow (coolo) (2010-02-08 11:23:14) I would think this should go to the upstream project. I don't see us doing such things against parted project. #4: Greg Freemyer (gregfreemyer) (2010-02-15 21:36:52) I think this should be re-opened. I agree that part of the work should come from the parted upstream, but the issue applies to ALL partitions created/proposed via opensuse during install time. I really doubt that parted is responsible for creating the full opensuse partitioning proposal. ==> details If anyone does decide to look into this they need to ignore the HDIO_GETGEO ioctl. It is no longer the official kernel source for this information. As documented in the kernel under Documentation/ABI/testing/sysfs- block, the correct place to get partition alignment info is /sysfs. Especially with the advent of 4K physical sector HDDs this past fall it is critical that the partitions align with the physical sectors or else you get the highly unoptimal situation that updating a single 4K kernel page to disk causes two 4K sectors to be updated. Thus in the optimumly aligned case it is one i/o to update a 4K kernel page out to a 4K physical sector. In the non-aligned case it is four i/o's. Most of the work is in the HDD controller, but it takes real world milliseconds non-the-less: HDD controller read physical sector 1, HDD controller read physical sector 2, HDD controller modify the sector 1 & 2 data, HDD controller write physical sector 1 HDD controller write physical secotr 2 Thus it is important that the opensuse proposed partition scheme for these drives propose partitions that align with the physical sectors of these drives. #5: Greg Freemyer (gregfreemyer) (2010-02-17 19:23:10) Per < http://old.nabble.com/parted-2.1-released--stable--td26878024.html> (http://old.nabble.com/parted-2.1-released--stable--td26878024.html% 3E) the upstream work is done as of parted 2.1 which is two months old. I don't know if that's in factory yet or not. Now Opensuse needs to invoke it correctly. I would like to see -- align=optimal used. == specific new parted feature ** New features new --align=<align> commandline option which can have the following values: none: Use the minimum alignment allowed by the disk type cylinder: Align partitions to cylinders (the default) minimal: Use minimum alignment as given by the disk topology information optimal: Use optimum alignment as given by the disk topology information The minimal and optimal values will use layout information provided by the disk to align the logical partition table addresses to actual physical blocks on the disks. The mininal value uses the minimum aligment needed to align the partition properly to physical blocks, which avoids performance degradation. Where as the optimal value uses a multiple of the physical block size in a way that guarantees optimal performance. The min and opt values will only work when compiled with libblkid >= 2.17 and running on a kernel >= 2.6.31, otherwise they will behave as the none --align value. === #6: Petr Uzel (puzel) (2010-02-18 12:15:05) (reply to #5) parted-2.1 should get to Factory in a one or two weeks (the package is ready in my home project, but we have to wait until device-mapper gets updated). #8: Petr Uzel (puzel) (2010-03-02 12:05:38) (reply to #6) Last week parted-2.2 was released, which changed the default alignment option for newly created partitions to optimal (--align=optimal). I'm still waiting for DM update (without it parted won't compile) - I'll try push this forward. As soon as new DM gets to Factory, I'll push parted-2.2. #10: Arvin Schnell (aschnell) (2010-03-16 12:38:23) (reply to #8) AFAIS parted needs libblkid with topology support for correct alignment (so util-linux >= 2.17 is required). #7: Richard Bos (rbos) (2010-02-25 11:31:50) See http://bugzilla.novell.com/show_bug.cgi?id=582932 for a use case ( Make sure that 4k based block hard drives are supported correctly by e.g. YaST2 partitioner) #9: Steve Perkins (steve_perkins) (2010-03-15 18:27:10) I have checked out FC11.3 M3 and I would not say that this is "resolved". Installing on WD10-EARS drive defaulted to partitions all misaligned to 4K boundaries: sda1 63 4209029 swap sda2 4209030 46154744 / sda3 46154745 1953520064 /home The installation completes but the misalignment will mean write performance is not optimised. FC13 M3 has: util-linux-ng 2.17.1 - OK, includes alignment aware fdisk parted 1.9.0 - not alignment aware, suggest 2.2+ mke2fs 1.41.9 - no misalignment warning - suggest 1.41.10-5+ kernel has correct sysfs parameters. The use of 4K sectors internally will become standard for all disk drives over the next few years and it would be good to get FC11.3 set up for optimum performance. As Richard notes, manual configuration of partitions will work fine but a casual user won't do this. Can we get YaST2 to align partitions to the optimum boundaries please? Regards Steve + #11: Ralph Ulrich (ulenrich) (2010-03-17 23:06:04) + Since Vista there is no more a compatible way to partition your + harddisk. Win7 needs + 1MB free space before first primary partition and 1MB free space before + every first logical disk. + And it needs endings of partitions at MB boundaries. + I did as usual: + 1. Laptop recovery 12GB + 2. Win7 starter 100 MB + 3. Win7 ntfs 100GB + 4. extended partition + /dev/sda5 swap 5GB + /dev/sda6 root 30GB + /dev/sda7 home 60GB + And a grub into MBR. After using Win7 to format an usb stick the grub + bootloader was not started any more... -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Greg Freemyer (gregfreemyer) Feature #306443, revision 25 Title: Update yast partitioner to leverage latest upstream parted 2.1 to use hardware topology openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important openSUSE-11.3: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean parted 2.1 supposidely now supports various topology calls via sysfs, block device ioctls, libblkid, etc and attempts to align at least the first partition per the hardware topology. The yast partitioner now needs to be updated to leverage this new functionality. I suggest a UI change to allow the user to select how the new --align parameter is set. Greg Discussion: #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) SPT is meaningless with modern disks (especially metadevices such as combined disks to a raid); furthermore modern operating systems only use LBA; CHS is only for terribly old disks and for partitioning MSDOS ptabs. #3: Jan Engelhardt (jengelh) (2010-02-14 21:16:57) (reply to #1) Especially since harddisks themselves usually lie about their geometry. # hdparm -I /dev/sda ATA device, with non-removable media Model Number: WDC WD400EB-00CPF0 Serial Number: WD-WCAAT5461367 Firmware Revision: 06.04G06 Standards: Supported: 5 4 3 Likely used: 6 Configuration: Logical max current cylinders 16383 4047 heads 16 16 sectors/track 63 255 Let's dissect that. 16 Heads would indicate 8 platters (both sides are written), which is not in line with reality (2-4 platters is more common when you open a disk case). Furthermore, 63 or 255 SPT is pretty inaccurate for at least one area of the disk, given that disks use Zoned Recording these days. And then come RAID devices. fdisk reports them as 2 heads, 4 SPT, 32720 cyls (for a 128 MB test vol). 4 spt... As if! Did I mention SSDs yet? #2: Stephan Kulow (coolo) (2010-02-08 11:23:14) I would think this should go to the upstream project. I don't see us doing such things against parted project. #4: Greg Freemyer (gregfreemyer) (2010-02-15 21:36:52) I think this should be re-opened. I agree that part of the work should come from the parted upstream, but the issue applies to ALL partitions created/proposed via opensuse during install time. I really doubt that parted is responsible for creating the full opensuse partitioning proposal. ==> details If anyone does decide to look into this they need to ignore the HDIO_GETGEO ioctl. It is no longer the official kernel source for this information. As documented in the kernel under Documentation/ABI/testing/sysfs- block, the correct place to get partition alignment info is /sysfs. Especially with the advent of 4K physical sector HDDs this past fall it is critical that the partitions align with the physical sectors or else you get the highly unoptimal situation that updating a single 4K kernel page to disk causes two 4K sectors to be updated. Thus in the optimumly aligned case it is one i/o to update a 4K kernel page out to a 4K physical sector. In the non-aligned case it is four i/o's. Most of the work is in the HDD controller, but it takes real world milliseconds non-the-less: HDD controller read physical sector 1, HDD controller read physical sector 2, HDD controller modify the sector 1 & 2 data, HDD controller write physical sector 1 HDD controller write physical secotr 2 Thus it is important that the opensuse proposed partition scheme for these drives propose partitions that align with the physical sectors of these drives. #5: Greg Freemyer (gregfreemyer) (2010-02-17 19:23:10) Per < http://old.nabble.com/parted-2.1-released--stable--td26878024.html> (http://old.nabble.com/parted-2.1-released--stable--td26878024.html% 3E) the upstream work is done as of parted 2.1 which is two months old. I don't know if that's in factory yet or not. Now Opensuse needs to invoke it correctly. I would like to see -- align=optimal used. == specific new parted feature ** New features new --align=<align> commandline option which can have the following values: none: Use the minimum alignment allowed by the disk type cylinder: Align partitions to cylinders (the default) minimal: Use minimum alignment as given by the disk topology information optimal: Use optimum alignment as given by the disk topology information The minimal and optimal values will use layout information provided by the disk to align the logical partition table addresses to actual physical blocks on the disks. The mininal value uses the minimum aligment needed to align the partition properly to physical blocks, which avoids performance degradation. Where as the optimal value uses a multiple of the physical block size in a way that guarantees optimal performance. The min and opt values will only work when compiled with libblkid >= 2.17 and running on a kernel >= 2.6.31, otherwise they will behave as the none --align value. === #6: Petr Uzel (puzel) (2010-02-18 12:15:05) (reply to #5) parted-2.1 should get to Factory in a one or two weeks (the package is ready in my home project, but we have to wait until device-mapper gets updated). #8: Petr Uzel (puzel) (2010-03-02 12:05:38) (reply to #6) Last week parted-2.2 was released, which changed the default alignment option for newly created partitions to optimal (--align=optimal). I'm still waiting for DM update (without it parted won't compile) - I'll try push this forward. As soon as new DM gets to Factory, I'll push parted-2.2. #10: Arvin Schnell (aschnell) (2010-03-16 12:38:23) (reply to #8) AFAIS parted needs libblkid with topology support for correct alignment (so util-linux >= 2.17 is required). + #12: Greg Freemyer (gregfreemyer) (2010-04-01 23:35:04) (reply to #10) + Petr, Can we get an update on this going into factory? Milestone 5 + is rapidly approaching and after that is feature freeze I believe. Has + the DM update gone in? I believe factory is already at util-linux + 2.17 #7: Richard Bos (rbos) (2010-02-25 11:31:50) See http://bugzilla.novell.com/show_bug.cgi?id=582932 for a use case ( Make sure that 4k based block hard drives are supported correctly by e.g. YaST2 partitioner) #9: Steve Perkins (steve_perkins) (2010-03-15 18:27:10) I have checked out FC11.3 M3 and I would not say that this is "resolved". Installing on WD10-EARS drive defaulted to partitions all misaligned to 4K boundaries: sda1 63 4209029 swap sda2 4209030 46154744 / sda3 46154745 1953520064 /home The installation completes but the misalignment will mean write performance is not optimised. FC13 M3 has: util-linux-ng 2.17.1 - OK, includes alignment aware fdisk parted 1.9.0 - not alignment aware, suggest 2.2+ mke2fs 1.41.9 - no misalignment warning - suggest 1.41.10-5+ kernel has correct sysfs parameters. The use of 4K sectors internally will become standard for all disk drives over the next few years and it would be good to get FC11.3 set up for optimum performance. As Richard notes, manual configuration of partitions will work fine but a casual user won't do this. Can we get YaST2 to align partitions to the optimum boundaries please? Regards Steve #11: Ralph Ulrich (ulenrich) (2010-03-17 23:06:04) Since Vista there is no more a compatible way to partition your harddisk. Win7 needs 1MB free space before first primary partition and 1MB free space before every first logical disk. And it needs endings of partitions at MB boundaries. I did as usual: 1. Laptop recovery 12GB 2. Win7 starter 100 MB 3. Win7 ntfs 100GB 4. extended partition /dev/sda5 swap 5GB /dev/sda6 root 30GB /dev/sda7 home 60GB And a grub into MBR. After using Win7 to format an usb stick the grub bootloader was not started any more... -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Petr Uzel (puzel) Feature #306443, revision 26 Title: Update yast partitioner to leverage latest upstream parted 2.1 to use hardware topology openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important openSUSE-11.3: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean parted 2.1 supposidely now supports various topology calls via sysfs, block device ioctls, libblkid, etc and attempts to align at least the first partition per the hardware topology. The yast partitioner now needs to be updated to leverage this new functionality. I suggest a UI change to allow the user to select how the new --align parameter is set. Greg Discussion: #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) SPT is meaningless with modern disks (especially metadevices such as combined disks to a raid); furthermore modern operating systems only use LBA; CHS is only for terribly old disks and for partitioning MSDOS ptabs. #3: Jan Engelhardt (jengelh) (2010-02-14 21:16:57) (reply to #1) Especially since harddisks themselves usually lie about their geometry. # hdparm -I /dev/sda ATA device, with non-removable media Model Number: WDC WD400EB-00CPF0 Serial Number: WD-WCAAT5461367 Firmware Revision: 06.04G06 Standards: Supported: 5 4 3 Likely used: 6 Configuration: Logical max current cylinders 16383 4047 heads 16 16 sectors/track 63 255 Let's dissect that. 16 Heads would indicate 8 platters (both sides are written), which is not in line with reality (2-4 platters is more common when you open a disk case). Furthermore, 63 or 255 SPT is pretty inaccurate for at least one area of the disk, given that disks use Zoned Recording these days. And then come RAID devices. fdisk reports them as 2 heads, 4 SPT, 32720 cyls (for a 128 MB test vol). 4 spt... As if! Did I mention SSDs yet? #2: Stephan Kulow (coolo) (2010-02-08 11:23:14) I would think this should go to the upstream project. I don't see us doing such things against parted project. #4: Greg Freemyer (gregfreemyer) (2010-02-15 21:36:52) I think this should be re-opened. I agree that part of the work should come from the parted upstream, but the issue applies to ALL partitions created/proposed via opensuse during install time. I really doubt that parted is responsible for creating the full opensuse partitioning proposal. ==> details If anyone does decide to look into this they need to ignore the HDIO_GETGEO ioctl. It is no longer the official kernel source for this information. As documented in the kernel under Documentation/ABI/testing/sysfs- block, the correct place to get partition alignment info is /sysfs. Especially with the advent of 4K physical sector HDDs this past fall it is critical that the partitions align with the physical sectors or else you get the highly unoptimal situation that updating a single 4K kernel page to disk causes two 4K sectors to be updated. Thus in the optimumly aligned case it is one i/o to update a 4K kernel page out to a 4K physical sector. In the non-aligned case it is four i/o's. Most of the work is in the HDD controller, but it takes real world milliseconds non-the-less: HDD controller read physical sector 1, HDD controller read physical sector 2, HDD controller modify the sector 1 & 2 data, HDD controller write physical sector 1 HDD controller write physical secotr 2 Thus it is important that the opensuse proposed partition scheme for these drives propose partitions that align with the physical sectors of these drives. #5: Greg Freemyer (gregfreemyer) (2010-02-17 19:23:10) Per < http://old.nabble.com/parted-2.1-released--stable--td26878024.html> (http://old.nabble.com/parted-2.1-released--stable--td26878024.html% 3E) the upstream work is done as of parted 2.1 which is two months old. I don't know if that's in factory yet or not. Now Opensuse needs to invoke it correctly. I would like to see -- align=optimal used. == specific new parted feature ** New features new --align=<align> commandline option which can have the following values: none: Use the minimum alignment allowed by the disk type cylinder: Align partitions to cylinders (the default) minimal: Use minimum alignment as given by the disk topology information optimal: Use optimum alignment as given by the disk topology information The minimal and optimal values will use layout information provided by the disk to align the logical partition table addresses to actual physical blocks on the disks. The mininal value uses the minimum aligment needed to align the partition properly to physical blocks, which avoids performance degradation. Where as the optimal value uses a multiple of the physical block size in a way that guarantees optimal performance. The min and opt values will only work when compiled with libblkid >= 2.17 and running on a kernel >= 2.6.31, otherwise they will behave as the none --align value. === #6: Petr Uzel (puzel) (2010-02-18 12:15:05) (reply to #5) parted-2.1 should get to Factory in a one or two weeks (the package is ready in my home project, but we have to wait until device-mapper gets updated). #8: Petr Uzel (puzel) (2010-03-02 12:05:38) (reply to #6) Last week parted-2.2 was released, which changed the default alignment option for newly created partitions to optimal (--align=optimal). I'm still waiting for DM update (without it parted won't compile) - I'll try push this forward. As soon as new DM gets to Factory, I'll push parted-2.2. #10: Arvin Schnell (aschnell) (2010-03-16 12:38:23) (reply to #8) AFAIS parted needs libblkid with topology support for correct alignment (so util-linux >= 2.17 is required). #12: Greg Freemyer (gregfreemyer) (2010-04-01 23:35:04) (reply to #10) Petr, Can we get an update on this going into factory? Milestone 5 is rapidly approaching and after that is feature freeze I believe. Has the DM update gone in? I believe factory is already at util-linux 2.17 + #13: Petr Uzel (puzel) (2010-04-02 14:52:50) (reply to #12) + Parted-2.2 just submitted to Factory. #7: Richard Bos (rbos) (2010-02-25 11:31:50) See http://bugzilla.novell.com/show_bug.cgi?id=582932 for a use case ( Make sure that 4k based block hard drives are supported correctly by e.g. YaST2 partitioner) #9: Steve Perkins (steve_perkins) (2010-03-15 18:27:10) I have checked out FC11.3 M3 and I would not say that this is "resolved". Installing on WD10-EARS drive defaulted to partitions all misaligned to 4K boundaries: sda1 63 4209029 swap sda2 4209030 46154744 / sda3 46154745 1953520064 /home The installation completes but the misalignment will mean write performance is not optimised. FC13 M3 has: util-linux-ng 2.17.1 - OK, includes alignment aware fdisk parted 1.9.0 - not alignment aware, suggest 2.2+ mke2fs 1.41.9 - no misalignment warning - suggest 1.41.10-5+ kernel has correct sysfs parameters. The use of 4K sectors internally will become standard for all disk drives over the next few years and it would be good to get FC11.3 set up for optimum performance. As Richard notes, manual configuration of partitions will work fine but a casual user won't do this. Can we get YaST2 to align partitions to the optimum boundaries please? Regards Steve #11: Ralph Ulrich (ulenrich) (2010-03-17 23:06:04) Since Vista there is no more a compatible way to partition your harddisk. Win7 needs 1MB free space before first primary partition and 1MB free space before every first logical disk. And it needs endings of partitions at MB boundaries. I did as usual: 1. Laptop recovery 12GB 2. Win7 starter 100 MB 3. Win7 ntfs 100GB 4. extended partition /dev/sda5 swap 5GB /dev/sda6 root 30GB /dev/sda7 home 60GB And a grub into MBR. After using Win7 to format an usb stick the grub bootloader was not started any more... -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Greg Freemyer (gregfreemyer) Feature #306443, revision 27 Title: Update yast partitioner to leverage latest upstream parted 2.1 to use hardware topology openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important openSUSE-11.3: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean parted 2.1 supposidely now supports various topology calls via sysfs, block device ioctls, libblkid, etc and attempts to align at least the first partition per the hardware topology. The yast partitioner now needs to be updated to leverage this new functionality. I suggest a UI change to allow the user to select how the new --align parameter is set. Greg Discussion: #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) SPT is meaningless with modern disks (especially metadevices such as combined disks to a raid); furthermore modern operating systems only use LBA; CHS is only for terribly old disks and for partitioning MSDOS ptabs. #3: Jan Engelhardt (jengelh) (2010-02-14 21:16:57) (reply to #1) Especially since harddisks themselves usually lie about their geometry. # hdparm -I /dev/sda ATA device, with non-removable media Model Number: WDC WD400EB-00CPF0 Serial Number: WD-WCAAT5461367 Firmware Revision: 06.04G06 Standards: Supported: 5 4 3 Likely used: 6 Configuration: Logical max current cylinders 16383 4047 heads 16 16 sectors/track 63 255 Let's dissect that. 16 Heads would indicate 8 platters (both sides are written), which is not in line with reality (2-4 platters is more common when you open a disk case). Furthermore, 63 or 255 SPT is pretty inaccurate for at least one area of the disk, given that disks use Zoned Recording these days. And then come RAID devices. fdisk reports them as 2 heads, 4 SPT, 32720 cyls (for a 128 MB test vol). 4 spt... As if! Did I mention SSDs yet? #2: Stephan Kulow (coolo) (2010-02-08 11:23:14) I would think this should go to the upstream project. I don't see us doing such things against parted project. #4: Greg Freemyer (gregfreemyer) (2010-02-15 21:36:52) I think this should be re-opened. I agree that part of the work should come from the parted upstream, but the issue applies to ALL partitions created/proposed via opensuse during install time. I really doubt that parted is responsible for creating the full opensuse partitioning proposal. ==> details If anyone does decide to look into this they need to ignore the HDIO_GETGEO ioctl. It is no longer the official kernel source for this information. As documented in the kernel under Documentation/ABI/testing/sysfs- block, the correct place to get partition alignment info is /sysfs. Especially with the advent of 4K physical sector HDDs this past fall it is critical that the partitions align with the physical sectors or else you get the highly unoptimal situation that updating a single 4K kernel page to disk causes two 4K sectors to be updated. Thus in the optimumly aligned case it is one i/o to update a 4K kernel page out to a 4K physical sector. In the non-aligned case it is four i/o's. Most of the work is in the HDD controller, but it takes real world milliseconds non-the-less: HDD controller read physical sector 1, HDD controller read physical sector 2, HDD controller modify the sector 1 & 2 data, HDD controller write physical sector 1 HDD controller write physical secotr 2 Thus it is important that the opensuse proposed partition scheme for these drives propose partitions that align with the physical sectors of these drives. #5: Greg Freemyer (gregfreemyer) (2010-02-17 19:23:10) Per < http://old.nabble.com/parted-2.1-released--stable--td26878024.html> (http://old.nabble.com/parted-2.1-released--stable--td26878024.html% 3E) the upstream work is done as of parted 2.1 which is two months old. I don't know if that's in factory yet or not. Now Opensuse needs to invoke it correctly. I would like to see -- align=optimal used. == specific new parted feature ** New features new --align=<align> commandline option which can have the following values: none: Use the minimum alignment allowed by the disk type cylinder: Align partitions to cylinders (the default) minimal: Use minimum alignment as given by the disk topology information optimal: Use optimum alignment as given by the disk topology information The minimal and optimal values will use layout information provided by the disk to align the logical partition table addresses to actual physical blocks on the disks. The mininal value uses the minimum aligment needed to align the partition properly to physical blocks, which avoids performance degradation. Where as the optimal value uses a multiple of the physical block size in a way that guarantees optimal performance. The min and opt values will only work when compiled with libblkid >= 2.17 and running on a kernel >= 2.6.31, otherwise they will behave as the none --align value. === #6: Petr Uzel (puzel) (2010-02-18 12:15:05) (reply to #5) parted-2.1 should get to Factory in a one or two weeks (the package is ready in my home project, but we have to wait until device-mapper gets updated). #8: Petr Uzel (puzel) (2010-03-02 12:05:38) (reply to #6) Last week parted-2.2 was released, which changed the default alignment option for newly created partitions to optimal (--align=optimal). I'm still waiting for DM update (without it parted won't compile) - I'll try push this forward. As soon as new DM gets to Factory, I'll push parted-2.2. #10: Arvin Schnell (aschnell) (2010-03-16 12:38:23) (reply to #8) AFAIS parted needs libblkid with topology support for correct alignment (so util-linux >= 2.17 is required). #12: Greg Freemyer (gregfreemyer) (2010-04-01 23:35:04) (reply to #10) Petr, Can we get an update on this going into factory? Milestone 5 is rapidly approaching and after that is feature freeze I believe. Has the DM update gone in? I believe factory is already at util-linux 2.17 #13: Petr Uzel (puzel) (2010-04-02 14:52:50) (reply to #12) Parted-2.2 just submitted to Factory. #7: Richard Bos (rbos) (2010-02-25 11:31:50) See http://bugzilla.novell.com/show_bug.cgi?id=582932 for a use case ( Make sure that 4k based block hard drives are supported correctly by e.g. YaST2 partitioner) #9: Steve Perkins (steve_perkins) (2010-03-15 18:27:10) I have checked out FC11.3 M3 and I would not say that this is "resolved". Installing on WD10-EARS drive defaulted to partitions all misaligned to 4K boundaries: sda1 63 4209029 swap sda2 4209030 46154744 / sda3 46154745 1953520064 /home The installation completes but the misalignment will mean write performance is not optimised. FC13 M3 has: util-linux-ng 2.17.1 - OK, includes alignment aware fdisk parted 1.9.0 - not alignment aware, suggest 2.2+ mke2fs 1.41.9 - no misalignment warning - suggest 1.41.10-5+ kernel has correct sysfs parameters. The use of 4K sectors internally will become standard for all disk drives over the next few years and it would be good to get FC11.3 set up for optimum performance. As Richard notes, manual configuration of partitions will work fine but a casual user won't do this. Can we get YaST2 to align partitions to the optimum boundaries please? Regards Steve #11: Ralph Ulrich (ulenrich) (2010-03-17 23:06:04) Since Vista there is no more a compatible way to partition your harddisk. Win7 needs 1MB free space before first primary partition and 1MB free space before every first logical disk. And it needs endings of partitions at MB boundaries. I did as usual: 1. Laptop recovery 12GB 2. Win7 starter 100 MB 3. Win7 ntfs 100GB 4. extended partition /dev/sda5 swap 5GB /dev/sda6 root 30GB /dev/sda7 home 60GB And a grub into MBR. After using Win7 to format an usb stick the grub bootloader was not started any more... + #14: Greg Freemyer (gregfreemyer) (2010-05-18 00:54:00) + This supposidely went into milestone 5. (ie. Yast2 partitioner should + now align to 4k sector drives as well as to mdraid arrays.) + Has anyone had a chance to test it? + -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Arvin Schnell (aschnell) Feature #306443, revision 29 Title: Update yast partitioner to leverage latest upstream parted 2.1 to use hardware topology openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important - openSUSE-11.3: Evaluation + openSUSE-11.3: Done Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean parted 2.1 supposidely now supports various topology calls via sysfs, block device ioctls, libblkid, etc and attempts to align at least the first partition per the hardware topology. The yast partitioner now needs to be updated to leverage this new functionality. I suggest a UI change to allow the user to select how the new --align parameter is set. Greg Discussion: #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) SPT is meaningless with modern disks (especially metadevices such as combined disks to a raid); furthermore modern operating systems only use LBA; CHS is only for terribly old disks and for partitioning MSDOS ptabs. #3: Jan Engelhardt (jengelh) (2010-02-14 21:16:57) (reply to #1) Especially since harddisks themselves usually lie about their geometry. # hdparm -I /dev/sda ATA device, with non-removable media Model Number: WDC WD400EB-00CPF0 Serial Number: WD-WCAAT5461367 Firmware Revision: 06.04G06 Standards: Supported: 5 4 3 Likely used: 6 Configuration: Logical max current cylinders 16383 4047 heads 16 16 sectors/track 63 255 Let's dissect that. 16 Heads would indicate 8 platters (both sides are written), which is not in line with reality (2-4 platters is more common when you open a disk case). Furthermore, 63 or 255 SPT is pretty inaccurate for at least one area of the disk, given that disks use Zoned Recording these days. And then come RAID devices. fdisk reports them as 2 heads, 4 SPT, 32720 cyls (for a 128 MB test vol). 4 spt... As if! Did I mention SSDs yet? #2: Stephan Kulow (coolo) (2010-02-08 11:23:14) I would think this should go to the upstream project. I don't see us doing such things against parted project. #4: Greg Freemyer (gregfreemyer) (2010-02-15 21:36:52) I think this should be re-opened. I agree that part of the work should come from the parted upstream, but the issue applies to ALL partitions created/proposed via opensuse during install time. I really doubt that parted is responsible for creating the full opensuse partitioning proposal. ==> details If anyone does decide to look into this they need to ignore the HDIO_GETGEO ioctl. It is no longer the official kernel source for this information. As documented in the kernel under Documentation/ABI/testing/sysfs- block, the correct place to get partition alignment info is /sysfs. Especially with the advent of 4K physical sector HDDs this past fall it is critical that the partitions align with the physical sectors or else you get the highly unoptimal situation that updating a single 4K kernel page to disk causes two 4K sectors to be updated. Thus in the optimumly aligned case it is one i/o to update a 4K kernel page out to a 4K physical sector. In the non-aligned case it is four i/o's. Most of the work is in the HDD controller, but it takes real world milliseconds non-the-less: HDD controller read physical sector 1, HDD controller read physical sector 2, HDD controller modify the sector 1 & 2 data, HDD controller write physical sector 1 HDD controller write physical secotr 2 Thus it is important that the opensuse proposed partition scheme for these drives propose partitions that align with the physical sectors of these drives. #5: Greg Freemyer (gregfreemyer) (2010-02-17 19:23:10) Per < http://old.nabble.com/parted-2.1-released--stable--td26878024.html> (http://old.nabble.com/parted-2.1-released--stable--td26878024.html% 3E) the upstream work is done as of parted 2.1 which is two months old. I don't know if that's in factory yet or not. Now Opensuse needs to invoke it correctly. I would like to see -- align=optimal used. == specific new parted feature ** New features new --align=<align> commandline option which can have the following values: none: Use the minimum alignment allowed by the disk type cylinder: Align partitions to cylinders (the default) minimal: Use minimum alignment as given by the disk topology information optimal: Use optimum alignment as given by the disk topology information The minimal and optimal values will use layout information provided by the disk to align the logical partition table addresses to actual physical blocks on the disks. The mininal value uses the minimum aligment needed to align the partition properly to physical blocks, which avoids performance degradation. Where as the optimal value uses a multiple of the physical block size in a way that guarantees optimal performance. The min and opt values will only work when compiled with libblkid >= 2.17 and running on a kernel >= 2.6.31, otherwise they will behave as the none --align value. === #6: Petr Uzel (puzel) (2010-02-18 12:15:05) (reply to #5) parted-2.1 should get to Factory in a one or two weeks (the package is ready in my home project, but we have to wait until device-mapper gets updated). #8: Petr Uzel (puzel) (2010-03-02 12:05:38) (reply to #6) Last week parted-2.2 was released, which changed the default alignment option for newly created partitions to optimal (--align=optimal). I'm still waiting for DM update (without it parted won't compile) - I'll try push this forward. As soon as new DM gets to Factory, I'll push parted-2.2. #10: Arvin Schnell (aschnell) (2010-03-16 12:38:23) (reply to #8) AFAIS parted needs libblkid with topology support for correct alignment (so util-linux >= 2.17 is required). #12: Greg Freemyer (gregfreemyer) (2010-04-01 23:35:04) (reply to #10) Petr, Can we get an update on this going into factory? Milestone 5 is rapidly approaching and after that is feature freeze I believe. Has the DM update gone in? I believe factory is already at util-linux 2.17 #13: Petr Uzel (puzel) (2010-04-02 14:52:50) (reply to #12) Parted-2.2 just submitted to Factory. #7: Richard Bos (rbos) (2010-02-25 11:31:50) See http://bugzilla.novell.com/show_bug.cgi?id=582932 for a use case ( Make sure that 4k based block hard drives are supported correctly by e.g. YaST2 partitioner) #9: Steve Perkins (steve_perkins) (2010-03-15 18:27:10) I have checked out FC11.3 M3 and I would not say that this is "resolved". Installing on WD10-EARS drive defaulted to partitions all misaligned to 4K boundaries: sda1 63 4209029 swap sda2 4209030 46154744 / sda3 46154745 1953520064 /home The installation completes but the misalignment will mean write performance is not optimised. FC13 M3 has: util-linux-ng 2.17.1 - OK, includes alignment aware fdisk parted 1.9.0 - not alignment aware, suggest 2.2+ mke2fs 1.41.9 - no misalignment warning - suggest 1.41.10-5+ kernel has correct sysfs parameters. The use of 4K sectors internally will become standard for all disk drives over the next few years and it would be good to get FC11.3 set up for optimum performance. As Richard notes, manual configuration of partitions will work fine but a casual user won't do this. Can we get YaST2 to align partitions to the optimum boundaries please? Regards Steve #11: Ralph Ulrich (ulenrich) (2010-03-17 23:06:04) Since Vista there is no more a compatible way to partition your harddisk. Win7 needs 1MB free space before first primary partition and 1MB free space before every first logical disk. And it needs endings of partitions at MB boundaries. I did as usual: 1. Laptop recovery 12GB 2. Win7 starter 100 MB 3. Win7 ntfs 100GB 4. extended partition /dev/sda5 swap 5GB /dev/sda6 root 30GB /dev/sda7 home 60GB And a grub into MBR. After using Win7 to format an usb stick the grub bootloader was not started any more... #14: Greg Freemyer (gregfreemyer) (2010-05-18 00:54:00) This supposidely went into milestone 5. (ie. Yast2 partitioner should now align to 4k sector drives as well as to mdraid arrays.) Has anyone had a chance to test it? - + #15: Arvin Schnell (aschnell) (2010-11-05 15:28:03) + Making as done for openSUSE 11.3 which has parted 2.2. -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Arvin Schnell (aschnell) Feature #306443, revision 2 Title: change parted to use Hardware suggested sectors per track openSUSE-11.2: Unconfirmed Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. - Dean -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Andreas Jaeger (a_jaeger) Feature #306443, revision 5 Title: change parted to use Hardware suggested sectors per track - openSUSE-11.2: Unconfirmed + openSUSE-11.2: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Andreas Jaeger (a_jaeger) Feature #306443, revision 6 Title: change parted to use Hardware suggested sectors per track - openSUSE-11.2: Evaluation + openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) + reject date: 2009-08-11 15:45:20 + reject reason: Too late for openSUSE 11.2 Priority Requester: Important + openSUSE-11.3: Evaluation + Priority + Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Jan Engelhardt (jengelh) Feature #306443, revision 10 Title: change parted to use Hardware suggested sectors per track openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important openSUSE-11.3: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean + Discussion: + #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) + SPT is meaningless with modern disks (especially metadevices such as + combined disks to a raid); furthermore modern operating systems only + use LBA; CHS is only for terribly old disks and for partitioning MSDOS + ptabs. -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Stephan Kulow (coolo) Feature #306443, revision 11 Title: change parted to use Hardware suggested sectors per track openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important openSUSE-11.3: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean Discussion: #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) SPT is meaningless with modern disks (especially metadevices such as combined disks to a raid); furthermore modern operating systems only use LBA; CHS is only for terribly old disks and for partitioning MSDOS ptabs. + #2: Stephan Kulow (coolo) (2010-02-08 11:23:14) + I would think this should go to the upstream project. I don't see us + doing such things against parted project. -- openSUSE Feature: https://features.opensuse.org/306443

Feature changed by: Jan Engelhardt (jengelh) Feature #306443, revision 12 Title: change parted to use Hardware suggested sectors per track openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger) reject date: 2009-08-11 15:45:20 reject reason: Too late for openSUSE 11.2 Priority Requester: Important openSUSE-11.3: Evaluation Priority Requester: Important Requested by: Dean Giles (dgiles) Description: parted creates partitions which are automatically assigned 63 sectors per track. Hardware, such as HP raid devices, advertise that they want 32 sectors per track. It advertises that through ioctl HDIO_GETGEO. fdisk can utilize the hardware reported sectors per track. parted needs to be changed to do the same. See bug # 501152. Dean Discussion: #1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15) SPT is meaningless with modern disks (especially metadevices such as combined disks to a raid); furthermore modern operating systems only use LBA; CHS is only for terribly old disks and for partitioning MSDOS ptabs. + #3: Jan Engelhardt (jengelh) (2010-02-14 21:16:57) (reply to #1) + Especially since harddisks themselves usually lie about their geometry. + + # hdparm -I /dev/sda + ATA device, with non-removable media + Model Number: WDC WD400EB-00CPF0 + Serial Number: WD-WCAAT5461367 + Firmware Revision: 06.04G06 + Standards: + Supported: 5 4 3 + Likely used: 6 + Configuration: + Logical max current + cylinders 16383 4047 + heads 16 16 + sectors/track 63 255 + + Let's dissect that. 16 Heads would indicate 8 platters (both sides are + written), which is not in line with reality (2-4 platters is more + common when you open a disk case). Furthermore, 63 or 255 SPT is pretty + inaccurate for at least one area of the disk, given that disks use + Zoned Recording these days. + + And then come RAID devices. fdisk reports them as 2 heads, 4 SPT, 32720 + cyls (for a 128 MB test vol). 4 spt... As if! Did I mention SSDs yet? #2: Stephan Kulow (coolo) (2010-02-08 11:23:14) I would think this should go to the upstream project. I don't see us doing such things against parted project. -- openSUSE Feature: https://features.opensuse.org/306443
participants (1)
-
fate_noreply@suse.de