[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC V5 03/11] quorum: Add quorum_open() and quorum_clo
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [RFC V5 03/11] quorum: Add quorum_open() and quorum_close(). |
Date: |
Mon, 27 Aug 2012 11:59:34 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120717 Thunderbird/14.0 |
On 08/27/2012 01:30 AM, Benoît Canet wrote:
> Valid quorum resources look like
> quorum:threshold/total:path/to/image_1, ... ,path/to/image_total
>
> ',' is used as a separator to allow to use networked path
Isn't this a step backwards? After all, on the command line, we would
have something like:
-drive file=quorum:...,readonly=on
but if the 'quorum:...' portion contains commas, then the qemu option
parsing requires you to write those commas as doubled. Which means to
escape those commas for _both_ quorum: processing _and_ qemu command
line parsing, I'd have to write:
-drive "file=quorum:2/2:path/to/image\\,,1,,path/to/image\\\\2,readonly=on"
to use the two files:
path/to/image,1
path/to/image\2
with appropriate shell, qemu, and quorum escaping. Using : rather than
, as the separator between quorum: elements was a bit simpler, since I
don't have to type double commas for every single comma to be taken by
the quorum parsing, escaped or not.
> '\' is the escaping character for filename containing ','
> '\' escape itself
s/escape/escapes/
>
> On the command line for quorum files "img,test.raw", "img2.raw"
> and "img3.raw" invocation look like:
>
> -drive file=quorum:2/3:img\\,,test.raw,,img2.raw,,img3.raw
> (note the double ,, and \\)
Yes, that's what I'm worried about.
--
Eric Blake address@hidden +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [RFC V5 00/11] Quorum disk image corruption resiliency, Benoît Canet, 2012/08/27
- [Qemu-devel] [RFC V5 01/11] quorum: Create quorum .c, add QuorumSingleAIOCB and QuorumAIOCB., Benoît Canet, 2012/08/27
- [Qemu-devel] [RFC V5 02/11] quorum: Create BDRVQuorumState and BlkDriver and do init., Benoît Canet, 2012/08/27
- [Qemu-devel] [RFC V5 05/11] blkverify: Extract qemu_iovec_clone() and qemu_iovec_compare() from blkverify., Benoît Canet, 2012/08/27
- [Qemu-devel] [RFC V5 04/11] quorum: Add quorum_aio_writev and its dependencies., Benoît Canet, 2012/08/27
- [Qemu-devel] [RFC V5 03/11] quorum: Add quorum_open() and quorum_close()., Benoît Canet, 2012/08/27
- Re: [Qemu-devel] [RFC V5 03/11] quorum: Add quorum_open() and quorum_close().,
Eric Blake <=
- [Qemu-devel] [RFC V5 07/11] quorum: Add quorum_aio_readv., Benoît Canet, 2012/08/27
- [Qemu-devel] [RFC V5 08/11] quorum: Add quorum mechanism., Benoît Canet, 2012/08/27
- [Qemu-devel] [RFC V5 06/11] quorum: Add quorum_co_flush()., Benoît Canet, 2012/08/27
- [Qemu-devel] [RFC V5 10/11] quorum: Add quorum_invalidate_cache()., Benoît Canet, 2012/08/27
- [Qemu-devel] [RFC V5 11/11] quorum: Add quorum_co_is_allocated., Benoît Canet, 2012/08/27
- [Qemu-devel] [RFC V5 09/11] quorum: Add quorum_getlength()., Benoît Canet, 2012/08/27