From 6fbde1c7db838e22b109e2e58eaa51b086758bc6 Mon Sep 17 00:00:00 2001 From: Sam Fink Date: Wed, 17 Sep 2025 10:04:51 -0400 Subject: [PATCH] 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 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libblkid/src/topology/ioctl.c b/libblkid/src/topology/ioctl.c index 7b15c9e9a..e95d67739 100644 --- a/libblkid/src/topology/ioctl.c +++ b/libblkid/src/topology/ioctl.c @@ -46,7 +46,7 @@ static int probe_ioctl_tp(blkid_probe pr, if (ioctl(pr->fd, BLKGETDISKSEQ, &u64) == -1) return 1; - if (blkid_topology_set_physical_sector_size(pr, u64)) + if (blkid_topology_set_diskseq(pr, u64)) return -1; return 0; -- 2.47.3