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]

Reply via email to