Re: [PATCH] support colon in filenames

Ram Pai
2009-06-25T17:52:16Z

On Thu, 2009-06-25 at 11:14 +0200, Kevin Wolf wrote:
> Ram Pai schrieb:
> > Copying the qemu-devel mailing list too.
> >
> > On Wed, 2009-06-24 at 09:58 -0700, Ram Pai wrote:
> >> Problem: It is impossible to feed filenames with the character colon because
> >> qemu interprets such names as a protocol. For example a filename scsi:0,
> >> is interpreted as a protocol by name "scsi".
> >>
> >> This patch allows users to espace colon characters. For example the above filename
> >> can now be expressed as 'scsi\:0'
> >>
> >> Here are couple of examples:
> >>
> >> ndb:\::9999 is treated as a ndb protocol with a hostname ':' on port 9999
> >> scsi\:0\:abc is a local file scsi:0:abc
> >> http\://myweb is a local file by name http://myweb
> >> nbd\::localhost:2558 is a protocol by name nbd:
>
> Is there any use in having a host named : or protocol nbd:? I don't
> think so.

I do not see the utility either. However if one does find a novel use,
the syntax is expressive enough.

>
> The other examples could be achieved much easier by assigning
> the file: protocol to raw, so we would have:
> file:scsi:0:abc
> file:http://myweb

yes. This is something if implemented; would help. But then its another
mechanism for expression. It has to be a separate patch built on top of
this patch, because you will still need escaping characters like space,
comma, etc

>
> This solution wasn't accepted last time because it wouldn't solve the
> problems with other characters like commas (they need to be escaped as
> double comma on the command line) and that won't be solved by this patch
> either.

This patch does handle commas and any other character as long as it is
escaped using backslashes.

I just checked the man page and it says that commas in the filename can
be escaped by commas :( . Ok i will add that feature to my patch and
resend it.

Will that be acceptable after that?

Thanks,
RP

>
> Kevin