From: Jan Kiszka <jan.kiszka@web.de>
To: Jamie Lokier <jamie@shareable.org>
Cc: Kevin Wolf <kwolf@redhat.com>,
Anthony Liguori <aliguori@us.ibm.com>,
linuxram@us.ibm.com, qemu-devel@nongnu.org,
kvm-devel <kvm@vger.kernel.org>
Subject: Re: [Qemu-devel] [PATCH] rev3: support colon in filenames
Date: Wed, 15 Jul 2009 22:54:30 +0200 [thread overview]
Message-ID: <4A5E4206.20602@web.de> (raw)
In-Reply-To: <20090715181405.GB3056@shareable.org>
[-- Attachment #1: Type: text/plain, Size: 2207 bytes --]
Jamie Lokier wrote:
> Kevin Wolf wrote:
>> Can we at least allow \, instead of ,, in parameter parsing, so that the
>> backslash has the practical benefit of being a single universal escape
>> character?
>
> Is there a good reason why we cannot simply use \<char> to escape
> _any_ character, in every context where a user-supplied
> string/name/path/file is used?
>
> I'm thinking of consistency here. Instead of special cases for
> filenames, why not a standard scheme for all the places in command
> lines _and_ the monitor where a name/path/file is needed?
Yeah, consistency. Very good point.
>
> There are many examples where it would be useful if unusual characters
> didn't break things, they simply worked.
>
> Examples: -vnc unix: path, -net port: device path, -net script path,
> -net sock= path, -net group= groupname, tap and bt device names.
>
> \<char> is an obvious scheme to standardise on given QEMU's unix shell
> heritage. It would work equally well for command line options (which
> are often comma-separated) and for monitor commands (which are often
> space-separated).
>
> It would have the nice property of being easy for management
> programs/scripts to quote, without them having a special list of
> characters to quote, without needing to update them if QEMU needs to
> quote more characters in future for some reason.
>
> Now, I see one significant hurdle with that: it's quite inconvenient
> for Windows users, typing paths like c:\path\to\dir\file, if those
> backslashes are stipped.
We could exclude Windows from this (I think to remember that filenames
are more restricted there anyway) or define a different, Windows-only
escape character.
>
> So I propose this as a universal quoting scheme:
>
> \<char> where <char> is not ASCII alphanumeric.
>
> Shell quoting is easy:
>
> qfile=`printf %s "$file" | sed 's/[^0-9a-zA-Z]/\\\\&/g'`
>
> qemu -drive file="$qfile",if=scsi,media=disk
>
> Same quoting applied when sending the monitor a command to change a
> CD-ROM file or add a USB disk, for example.
>
To me this direction looks more promising than any other proposal so far.
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 257 bytes --]
next prev parent reply other threads:[~2009-07-15 20:54 UTC|newest]
Thread overview: 119+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-24 16:58 [PATCH] support colon in filenames Ram Pai
2009-06-24 17:08 ` Balbir Singh
2009-06-24 17:30 ` Ram Pai
2009-06-24 18:31 ` Balbir Singh
2009-06-24 17:26 ` Amit Shah
2009-06-24 17:27 ` Amit Shah
2009-06-24 17:57 ` Ram Pai
2009-06-24 17:57 ` [Qemu-devel] " Ram Pai
2009-06-25 9:14 ` Kevin Wolf
2009-06-25 9:14 ` [Qemu-devel] " Kevin Wolf
2009-06-25 17:52 ` Ram Pai
2009-06-25 17:52 ` [Qemu-devel] " Ram Pai
2009-06-26 6:53 ` Kevin Wolf
2009-06-26 6:53 ` [Qemu-devel] " Kevin Wolf
2009-06-26 6:38 ` rev1 " Ram Pai
2009-06-26 6:38 ` [Qemu-devel] " Ram Pai
2009-06-26 7:45 ` Kevin Wolf
2009-06-26 7:45 ` [Qemu-devel] " Kevin Wolf
2009-06-27 0:41 ` rev2 " Ram Pai
2009-06-27 0:41 ` [Qemu-devel] " Ram Pai
2009-07-02 5:08 ` [PATCH] rev3: " Ram Pai
2009-07-02 5:08 ` [Qemu-devel] " Ram Pai
2009-07-02 8:52 ` Kevin Wolf
2009-07-02 12:52 ` Anthony Liguori
2009-07-02 13:18 ` Kevin Wolf
2009-07-08 8:30 ` [PATCH] rev4: " Ram Pai
2009-07-08 8:30 ` [Qemu-devel] " Ram Pai
2009-07-08 15:05 ` Jan Kiszka
2009-07-08 15:05 ` [Qemu-devel] " Jan Kiszka
2009-07-10 13:31 ` Anthony Liguori
2009-07-10 13:31 ` [Qemu-devel] " Anthony Liguori
2009-07-15 7:51 ` [PATCH] rev5: " Ram Pai
2009-07-15 7:51 ` [Qemu-devel] " Ram Pai
2009-07-15 9:30 ` Jan Kiszka
2009-07-15 9:30 ` [Qemu-devel] " Jan Kiszka
2009-07-15 17:03 ` Ram Pai
2009-07-15 17:03 ` [Qemu-devel] " Ram Pai
2009-07-15 18:20 ` Jamie Lokier
2009-07-15 18:20 ` Jamie Lokier
2009-07-15 18:44 ` Ram Pai
2009-07-15 18:44 ` Ram Pai
2009-07-15 21:04 ` qcow2 relative paths (was: [PATCH] rev5: support colon in filenames) Jamie Lokier
2009-07-15 21:04 ` [Qemu-devel] " Jamie Lokier
2009-07-15 21:14 ` qcow2 relative paths Jan Kiszka
2009-07-15 21:14 ` [Qemu-devel] " Jan Kiszka
2009-07-16 2:28 ` qcow2 relative paths (was: [PATCH] rev5: support colon in filenames) Ram Pai
2009-07-16 2:28 ` [Qemu-devel] " Ram Pai
2009-07-16 7:38 ` qcow2 relative paths Kevin Wolf
2009-07-16 7:38 ` [Qemu-devel] " Kevin Wolf
2009-07-16 7:51 ` Ram Pai
2009-07-16 7:51 ` [Qemu-devel] " Ram Pai
2009-07-16 7:39 ` [PATCH] rev6: support colon in filenames Ram Pai
2009-07-16 7:39 ` [Qemu-devel] " Ram Pai
2009-07-17 23:17 ` [PATCH] rev7: " Ram Pai
2009-07-17 23:17 ` [Qemu-devel] " Ram Pai
2009-07-21 12:42 ` Kevin Wolf
2009-07-21 12:42 ` [Qemu-devel] " Kevin Wolf
2009-08-06 6:27 ` Ram Pai
2009-08-06 6:27 ` [Qemu-devel] " Ram Pai
2009-08-06 6:47 ` [PATCH] rev8: " Ram Pai
2009-08-06 6:47 ` [Qemu-devel] " Ram Pai
2009-07-15 15:04 ` [Qemu-devel] [PATCH] rev5: " Blue Swirl
2009-07-15 15:04 ` Blue Swirl
2009-07-15 15:14 ` Anthony Liguori
2009-07-15 15:14 ` Anthony Liguori
2009-07-15 15:29 ` Blue Swirl
2009-07-15 15:29 ` Blue Swirl
2009-07-15 15:40 ` Anthony Liguori
2009-07-15 15:40 ` Anthony Liguori
2009-07-15 16:42 ` Kevin Wolf
2009-07-15 16:42 ` Kevin Wolf
2009-07-15 17:47 ` Michael S. Tsirkin
2009-07-15 17:47 ` Michael S. Tsirkin
2009-07-16 10:57 ` Amit Shah
2009-07-16 10:57 ` Amit Shah
2009-07-16 13:43 ` Markus Armbruster
2009-07-16 13:43 ` Markus Armbruster
2009-07-16 14:10 ` Anthony Liguori
2009-07-16 14:10 ` Anthony Liguori
2009-07-16 15:13 ` Gerd Hoffmann
2009-07-16 15:13 ` Gerd Hoffmann
2009-07-16 15:12 ` Gerd Hoffmann
2009-07-16 15:12 ` Gerd Hoffmann
2009-07-15 15:34 ` Kevin Wolf
2009-07-15 15:34 ` Kevin Wolf
2009-07-15 15:41 ` Anthony Liguori
2009-07-15 15:41 ` Anthony Liguori
2009-07-15 15:52 ` Paul Brook
2009-07-15 15:52 ` Paul Brook
2009-07-15 16:03 ` Gerd Hoffmann
2009-07-15 16:03 ` Gerd Hoffmann
2009-07-15 16:08 ` Paul Brook
2009-07-15 16:08 ` Paul Brook
2009-07-16 7:39 ` Ram Pai
2009-07-16 7:39 ` Ram Pai
2009-07-16 7:43 ` Kevin Wolf
2009-07-16 7:43 ` Kevin Wolf
2009-07-15 18:14 ` [Qemu-devel] [PATCH] rev3: " Jamie Lokier
2009-07-15 20:54 ` Jan Kiszka [this message]
2009-07-15 21:36 ` Jamie Lokier
2009-07-15 21:42 ` Jan Kiszka
2009-07-15 22:00 ` Jamie Lokier
2009-07-15 22:16 ` Anthony Liguori
2009-07-15 22:16 ` Anthony Liguori
2009-07-15 22:39 ` Jamie Lokier
2009-07-15 22:39 ` Jamie Lokier
2009-07-15 22:41 ` Anthony Liguori
2009-07-15 22:41 ` Anthony Liguori
2009-07-15 22:51 ` Jamie Lokier
2009-07-15 22:51 ` Jamie Lokier
2009-07-16 0:03 ` Anthony Liguori
2009-07-16 0:03 ` Anthony Liguori
2009-07-16 7:20 ` Jan Kiszka
2009-07-16 7:20 ` Jan Kiszka
2009-07-16 7:16 ` Jan Kiszka
2009-07-16 7:16 ` Jan Kiszka
2009-07-16 8:01 ` Kevin Wolf
2009-07-16 23:53 ` Paul Brook
2009-07-16 23:53 ` Paul Brook
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A5E4206.20602@web.de \
--to=jan.kiszka@web.de \
--cc=aliguori@us.ibm.com \
--cc=jamie@shareable.org \
--cc=kvm@vger.kernel.org \
--cc=kwolf@redhat.com \
--cc=linuxram@us.ibm.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.