On 7/21/25 5:29 AM, Mikulas Patocka wrote:
Hi

When I install VDO tools version 8.3.1.1 on Debian Sid and I run the LVM
testsuite, I get failure in these tests:

shell/lvchange-vdo.sh
shell/lvconvert-thin-from-thick.sh
shell/lvconvert-thin-vdo.sh
shell/lvconvert-vdo-raid.sh
shell/lvcreate-vdo.sh
shell/profiles-vdo.sh
shell/vgsplit-vdo.sh

There are these syslog messages:

| [ 0:00.988] [2498.650738] <6> 2025-07-18 20:00:38  device-mapper: vdo0:lvm: 
table line: V4 /dev/dm-2 1310720 4096 32768 16380 deduplication on compression on 
maxDiscard 1 ack 1 bio 4 bioRotationInterval 64 cpu 2 hash 1 logical 1 physical 1
| [ 0:00.988] [2498.652339] <6> 2025-07-18 20:00:38  device-mapper: vdo0:lvm: 
loading device '252:3'
| [ 0:00.988] [2498.652867] <6> 2025-07-18 20:00:38  device-mapper: vdo0:lvm: 
zones: 1 logical, 1 physical, 1 hash; total threads: 12
| [ 0:00.988] [2498.686527] <3> 2025-07-18 20:00:38  device-mapper: vdo: 
vdo0:journalQ: A logical size of 584704 blocks was specified, but that differs from 
the 584729 blocks configured in the vdo super block
| [ 0:00.988] [2498.688822] <3> 2025-07-18 20:00:38  device-mapper: vdo0:lvm: 
Could not start VDO device. (VDO error 1473, message Cannot load metadata from device)
| [ 0:00.988] [2498.890909] <6> 2025-07-18 20:00:38  device-mapper: vdo0:lvm: 
vdo_status_to_errno: mapping internal status code 1473 (VDO_PARAMETER_MISMATCH: VDO 
Status: Parameters have conflicting values) to EIO
| [ 0:00.988] [2499.077804] <3> 2025-07-18 20:00:38  device-mapper: table: 
252:3: vdo: Cannot load metadata from device (-EIO)
| [ 0:00.988] [2499.078890] <3> 2025-07-18 20:00:38  device-mapper: ioctl: 
error adding target to table

When I use the version 8.3.0.73 on Fedora Rawhide, VDO tests don't fail.

Do you have some idea how to debug it and why is it failing with the "A
logical size of 584704 blocks was specified, but that differs the 584729
blocks" message?

This has to be a userspace problem, right?
The difference between versions 8.3.1.1 and 8.3.0.73 is very small, just an update to the acceptable inputs to vdoformat:
https://github.com/dm-vdo/vdo/commit/0ec7597b60e5e6c2c33dfea057ac38bf157acffb

The logical size of the device is not even specified on the table line, either. My best guess is that lvm is using the output of vdoformat to set the device size, and the change here means that lvm is no longer calculating the correct value for the device in this case? Zdenek may have more insight.

I haven't seen any issue like this in our own tests using lvm, but I think we probably haven't run this specific suite before.

Matt

Mikulas





Reply via email to