Repository navigation
Snapshots copy from Linstor to NFS fail #14011
Description
Activity
Thanks for opening your first issue here! Be sure to follow the issue template!
- changed the title
[-][BUG][4.22.1.0] Snapshots copy from Linstor to NFS fail[/-][+]Snapshots copy from Linstor to NFS fail[/+]on Sep 2, 2026 @rp- could you have a look?
🎯 Triage report
Deterministic failure when backing up a snapshot from Linstor primary storage to NFS secondary storage on KVM. The KVM agent constructs a
/dev/mapper/...device-mapper path for the LVM-thin volume that does not match the actual path the kernel creates, because the volume-group name's dashes are not escaped using LVM's standard dash-doubling convention (only thecs--<uuid>portion is escaped). The reporter included full stack traces and a concrete suggested fix.📊 Assessment
Dimension Value Reasoning Type type:bug Deterministic, reproducible failure with clear stack trace and root cause identified Component component:kvm Failure occurs in LinstorBackupSnapshotCommandWrapper(KVM agent) duringqemu-img convertSeverity Severity:Major Snapshot backup to secondary storage fails 100% of the time for Linstor+NFS setups, but is scoped to a specific storage combination Labels type:bug, component:kvm Coding agent Suitable Root cause and exact escaping bug are clearly identified with file/line references and a concrete suggested fix (apply LVM dash-doubling to the volume-group name) 🔗 Similar issues
No similar open issues found; this appears to be a distinct, Linstor-specific path-escaping bug.
💡 Notes and suggestions
- Root cause: LVM device-mapper names double every literal dash in both the VG name and LV name (e.g.
vg-name→vg--name). The current code appears to correctly escape thecs--<uuid>LV/snapshot suffix but not the VG name segment (linstor_pool-lvm-thin) which should becomelinstor_pool-lvm--thin. - Suggested fix location:
LinstorBackupSnapshotCommandWrapper.convertImageToQCow2(and any shared path-building helper used to construct the/dev/mapper/...path for Linstor-backed volumes) — apply the same dash-doubling escape uniformly to the whole device-mapper name, not just the LV suffix. - A quick regression test could construct a Linstor VG name containing dashes and assert the resulting
/dev/mapper/...path matchesdmsetup/kernel-created naming.
Generated by Daily Issue Triage · sonnet50 135.6K · ◷
Add this agentic workflows to your repo
To install this agentic workflow, run
gh aw add githubnext/agentics/workflows/daily-issue-triage.md@d7c1dc4b72b00607a67caaffdcc216cb64379cf9- Root cause: LVM device-mapper names double every literal dash in both the VG name and LV name (e.g.
- linked a pull request that will close this issuelinstor: escape dashes in the LVM volume group name of snapshot paths #14066
on Sep 7, 2026 Yes, valid report and I opened a PR to fix this.
A workaround for now is to use VG names that don't use any
-- added a commit that references this issue
on Sep 29, 2026
ISSUE TYPE
COMPONENT NAME
CLOUDSTACK VERSION
CONFIGURATION
N/A
OS / ENVIRONMENT
SUMMARY
createSnapshoton any volume backed by a Linstor primary storage pool fails 100% of the time with:Failed to create Snapshot due to an internal error creating Snapshot for volume <volume-uuid>.The failure is deterministic and reproducible on every attempt, regardless of volume, VM, or snapshot name.
First the snapshot is created succesfully on the Linstor backend, but then the copy to NFS (secundairy storage) fails as CloudStack's KVM agent invokes
qemu-img convertagainst a/dev/mapper/...device path that does not match the path the kernel actually created.Actual device location:
/dev/mapper/linstor_pool-lv--thin-cs--12fc4055--3985--4025--8eb5--d6fd53effe37_00000Path CloudStack looks for:
/dev/mapper/linstor_pool-lvm-thin-cs--12fc4055--3985--4025--8eb5--d6fd53effe37_00000_cs--d7aea646--5f40--46a2--b9dc--77e41ea29336Notice the missing dashes in the
linstor_pool-lv--thin-cs-name.STEPS TO REPRODUCE
Create disk snapshot on a Linstor volume with NFS as secundairy storage and observe the error message.
EXPECTED RESULTS
Snapshot is created on the Linstor backend and successfully copied to secondary (NFS) storage.
ACTUAL RESULTS
The error logged in
management-server.log:Suggested fix: apply LVM's standard dash-doubling escape to the volume-group name the same way it's already correctly applied to the
cs--<uuid>logical-volume/snapshot name portion.