]> git.ipfire.org Git - thirdparty/util-linux.git/commit
libblkid: Fix probe_ioctl_tp assigning BLKGETDISKSEQ as physical sector size
authorSam Fink <fsamuel@netapp.com>
Wed, 17 Sep 2025 14:04:51 +0000 (10:04 -0400)
committerKarel Zak <kzak@redhat.com>
Thu, 18 Sep 2025 07:16:25 +0000 (09:16 +0200)
commitd7da22656cf0d775c8014c50325fcd5bb15629fd
tree414cbd6967339e9c5d81b996ae1bfb82a976bd8f
parentfb942d08e2ea9c9078869e0ea8d30175859c1995
libblkid: Fix probe_ioctl_tp assigning BLKGETDISKSEQ as physical sector size

Fix issue introduced by PR#2908 in probe_ioctl_tp where the BLKGETDISKSEQ ioctl
result is incorrectly assigned to the topology with
blkid_topology_set_physical_sector_size instead of blkid_topology_set_diskseq.

This issue was observed while using a Debian 13 container on a RHEL 9.4 host
attempting to format a volume. The physical sector size was incorrectly
reported as 3. This issue also presents with the fdisk command,
which also uses this library to resolve physical sector size of devices.

Example fdisk output:
root@r94p121-PA:~ # fdisk --list /dev/sdb
Disk /dev/sdb: 90 GiB, 96636764160 bytes, 188743680 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 3 bytes
I/O size (minimum/optimal): 512 bytes / 3 bytes

Strace of relevant ioctls:
ioctl(3, BLKALIGNOFF, [0])              = 0
ioctl(3, BLKIOMIN, [512])               = 0
ioctl(3, BLKIOOPT, [0])                 = 0
ioctl(3, BLKPBSZGET, [512])             = 0
ioctl(3, BLKGETDISKSEQ, [3])            = 0
ioctl(3, BLKSSZGET, [512])              = 0

(cherry picked from commit 6fbde1c7db838e22b109e2e58eaa51b086758bc6)
libblkid/src/topology/ioctl.c