github-actions[bot] commented on issue #14011: URL: https://github.com/apache/cloudstack/issues/14011#issuecomment-5510498948
## ๐ฏ 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 the `cs--<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) during `qemu-img convert` | | **Severity** | 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. <details><summary>๐ก Notes and suggestions</summary> - 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 the `cs--<uuid>` LV/snapshot suffix but not the VG name segment (`linstor_pool-lvm-thin`) which should become `linstor_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 matches `dmsetup`/kernel-created naming. </details> > Generated by [Daily Issue Triage](https://github.com/apache/cloudstack/actions/runs/33636271985) ยท sonnet50 135.6K ยท [โท](https://github.com/search?q=repo%3Aapache%2Fcloudstack+%22gh-aw-workflow-call-id%3A+apache%2Fcloudstack%2Fdaily-issue-triage%22&type=issues) > <details> <summary>Add this agentic workflows to your repo</summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/daily-issue-triage.md@d7c1dc4b72b00607a67caaffdcc216cb64379cf9 ``` </details> <!-- gh-aw-agentic-workflow: Daily Issue Triage, engine: copilot, version: 1.0.52, model: claude-sonnet-5, id: 33636271985, workflow_id: daily-issue-triage, run: https://github.com/apache/cloudstack/actions/runs/33636271985 --> <!-- gh-aw-workflow-call-id: apache/cloudstack/daily-issue-triage --> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
