Bug 801036 - libvirt with QEmu does not support disk filenames with comma
Summary: libvirt with QEmu does not support disk filenames with comma
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Virtualization Tools
Classification: Community
Component: libvirt
Version: unspecified
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Eric Blake
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 801970
TreeView+ depends on / blocked
 
Reported: 2012-03-07 14:46 UTC by Crístian Viana
Modified: 2013-01-24 21:18 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 801970 (view as bug list)
Environment:
Last Closed: 2013-01-24 21:18:49 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
IBM Linux Technology Center 79568 0 None None None Never

Description Crístian Viana 2012-03-07 14:46:00 UTC
There's no way to specify a disk filename with comma on libvirt with QEmu.

QEmu supports filenames with comma by using a double comma (e.g. "file=virtual,,disk.img" is parsed by QEmu as the file virtual,disk.img). However this does not happen with libvirt. If you specify <source file="virtual,disk.img" />, libvirt will pass the exact name to QEmu, which is an error to QEmu; if you specify <source file="virtual,,disk.img" />, libvirt interprets as a literal name and reports a "no such file" error even before talking to QEmu.

Tested on libvirt-0.8.7-18.el6_1.4.x86_64.

How reproducible:
Always.

Steps to Reproduce:
1. Create an image file with a comma in the name (e.g. virtual,disk.img).
2. Create a QEmu VM with libvirt specifying that file as the disk.
3. Start the VM.
  
Actual results:
The file cannot be found.

Expected results:
The file should be found because it exists and QEmu supports that.

Comment 1 Dave Allan 2012-03-07 16:28:44 UTC
TBH, this capability isn't something that I've seen a lot of people asking for, but if you need it and are willing to put together a patch, I doubt it would be controversial upstream, and the code probably isn't too complex.  Is that something that you'd be willing to take on?

Comment 2 Crístian Viana 2012-03-07 17:22:11 UTC
Yes, I'll work on a patch for it.

Comment 3 Dave Allan 2012-03-07 17:55:58 UTC
Great, thank you.  If you haven't already, have a look at http://libvirt.org/hacking.html as there is some good advice there that can potentially save you a lot of time/work.

Comment 4 IBM Bug Proxy 2012-03-07 19:31:04 UTC
------- Comment From sglass.com 2012-03-07 14:21 EDT-------
---Problem Description---

QEmu supports filenames with comma by using a double comma (e.g.
"file=virtual,,disk.img" is parsed by QEmu as the file virtual,disk.img).
However this does not happen with libvirt. If you specify <source
file="virtual,disk.img" />, libvirt will pass the exact name to QEmu, which is
an error to QEmu; if you specify <source file="virtual,,disk.img" />, libvirt
interprets as a literal name and reports a "no such file" error even before
talking to QEmu.

Contact Information = Anthony Liguori

---uname output---
n/a

Machine Type = n/a

---Debugger---
A debugger is not configured

---KVM Component Data---

Comment 5 Eric Blake 2012-03-10 00:43:19 UTC
Upstream patch awaiting review: https://www.redhat.com/archives/libvir-list/2012-March/msg00420.html

Comment 6 IBM Bug Proxy 2013-01-24 16:40:38 UTC
Closing this as it's been verified as fixed in RHEL 6.3.

Comment 7 Cole Robinson 2013-01-24 21:18:49 UTC
If it's fixed in RHEL it's fixed upstream, so closing.


Note You need to log in before you can comment on or make changes to this bug.