|
From: | GNU bug Tracking System |
Subject: | [debbugs-tracker] bug#36908: closed (parted optimal alignment fails minimal alignment check) |
Date: | Mon, 05 Aug 2019 16:02:02 +0000 |
Your message dated Mon, 5 Aug 2019 09:01:09 -0700 with message-id <address@hidden> and subject line Re: bug#36908: parted optimal alignment fails minimal alignment check has caused the debbugs.gnu.org bug report #36908, regarding parted optimal alignment fails minimal alignment check to be marked as done. (If you believe you have received this mail in error, please contact address@hidden.) -- 36908: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=36908 GNU Bug Tracking System Contact address@hidden with problems
--- Begin Message ---Subject: parted optimal alignment fails minimal alignment check Date: Sat, 3 Aug 2019 12:26:56 +0000
Hi,
I was directed here by the page at https://www.gnu.org/software/parted/bugs.shtml ; is there any bugreport tracker where one can file a bug instead ?
Anyway, here's the problem ( manifested in parted 3.2 coming with Ubuntu 18.04 and checked vs. a manual build of the sources from http://ftp.gnu.org/gnu/parted/parted-3.2.tar.xz ):
=== parted version ===
# parted --version
parted (GNU parted) 3.2
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by <http://git.debian.org/?p=parted/parted.git;a=blob_plain;f=AUTHORS>.
=== print unit s print unit chs print ===
# parted /dev/sdi print unit s print unit chs print
Model: WDC WD30 EZRZ-00Z5HB0 (scsi)
Disk /dev/sdi: 3001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
Model: WDC WD30 EZRZ-00Z5HB0 (scsi)
Disk /dev/sdi: 5860533168s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
Model: WDC WD30 EZRZ-00Z5HB0 (scsi)
Disk /dev/sdi: 364801,80,62
Sector size (logical/physical): 512B/512B
BIOS cylinder,head,sector geometry: 364801,255,63. Each cylinder is 8225kB.
Partition Table: gpt
Disk Flags:
Number Start End File system Name Flags
=== the problem ===
# parted /dev/sdi
GNU Parted 3.2
Using /dev/sdi
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mkpart test1 0% 1T
(parted) unit B
(parted) print
Model: WDC WD30 EZRZ-00Z5HB0 (scsi)
Disk /dev/sdi: 3000592982016B
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 33553920B 1000007477759B 999973923840B test1
(parted) align-check optimal 1
1 aligned
(parted) align-check minimal 1
1 not aligned
(parted)
=====
First of all, start sector value looks insanely big for "0%" ; second, one would imagine that passing an optimal check would imply passing a minimal check.
If one tries to start at e.g. 1 MiB, then of course the optimal check will not pass :
=====
# parted /dev/sdi
GNU Parted 3.2
Using /dev/sdi
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: WDC WD30 EZRZ-00Z5HB0 (scsi)
Disk /dev/sdi: 3001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted) mkpart test1 ext2 2048s 1T
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I
(parted) unit B
(parted) print
Model: WDC WD30 EZRZ-00Z5HB0 (scsi)
Disk /dev/sdi: 3000592982016B
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1048576B 1000000000511B 999998951936B ext2 test1
(parted) align-check optimal 1
1 not aligned
(parted) align-check minimal 1
1 aligned
=====
As it turns out, the root of all evil comes from here :
=====
# cat /sys/block/sdi/queue/optimal_io_size
33553920
=====
So parted is not to blame, but the system. But from the user's point of view, it is quite hard to figure this out. And certainly the user deserves to know the actual values that parted considers to be of best performance -- I mean, pa->offset and pa->grain_size from parted.c::print_partition_alignment() shall probably be exposed in some way -- at least when it comes to a warning like the one above.
Kind regardsGeorgy Fedorov
Senior Systems Specialist
Melbourne School of Engineering
The University of Melbourne, Victoria 3010, Australia
--- End Message ---
--- Begin Message ---Subject: Re: bug#36908: parted optimal alignment fails minimal alignment check Date: Mon, 5 Aug 2019 09:01:09 -0700 User-agent: Mutt/1.12.1 (2019-06-15) On Sat, Aug 03, 2019 at 12:26:56PM +0000, George Fedorov wrote: > Hi, > > > I was directed here by the page at > https://www.gnu.org/software/parted/bugs.shtml ; is there any bugreport > tracker where one can file a bug instead ? > > > Anyway, here's the problem ( manifested in parted 3.2 coming with Ubuntu > 18.04 and checked vs. a manual build of the sources from > http://ftp.gnu.org/gnu/parted/parted-3.2.tar.xz ): The 3.2 tar is *really* old at this point and should not really be used. [snip] > As it turns out, the root of all evil comes from here : > > > ===== > > # cat /sys/block/sdi/queue/optimal_io_size > 33553920 > ===== > > > So parted is not to blame, but the system. But from the user's point of view, > it is quite hard to figure this out. And certainly the user deserves to know > the actual values that parted considers to be of best performance -- I mean, > pa->offset and pa->grain_size from parted.c::print_partition_alignment() > shall probably be exposed in some way -- at least when it comes to a warning > like the one above. In commit 1726dbb4cd2dc4b19fe8d3c4b94e172fc0bd2c7c I added a message that describes the failure with a bit more detail. It will print something like: <start> % <grain_size> != <offset> I'm guessing Ubuntu doesn't have that patch, and the 3.2 tarball is getting *really* old at this point (which is why I'm working toward a 3.3 release soon). Brian -- Brian C. Lane (PST8PDT) - weldr.io - lorax - parted
--- End Message ---
[Prev in Thread] | Current Thread | [Next in Thread] |