[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: |
Benoît Canet |
Subject: |
Re: [Qemu-devel] [RFC V5 03/11] quorum: Add quorum_open() and quorum_close(). |
Date: |
Mon, 27 Aug 2012 21:20:42 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Le Monday 27 Aug 2012 à 11:59:34 (-0600), Eric Blake a écrit :
> 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.
I was following an idea of Blue Swirl.
You will have to use \\ on the command line.
':' can be used instead of ',' but it won't work
with networked urls.
>
> --
> Eric Blake address@hidden +1-919-301-3266
> Libvirt virtualization library http://libvirt.org
>
- [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
- [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