]> 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)
committerSam Fink <fsamuel@netapp.com>
Wed, 17 Sep 2025 14:28:54 +0000 (10:28 -0400)
commit6fbde1c7db838e22b109e2e58eaa51b086758bc6
tree2d1be546432806e41568a9978e35d4967365cb29
parent6bbf884525cad2702b1e69a0ac022db3ef92154d
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
libblkid/src/topology/ioctl.c