qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Max Reitz <mreitz@redhat.com>
To: "Benoît Canet" <benoit.canet@irqsave.net>
Cc: Kevin Wolf <kwolf@redhat.com>,
	qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 3/5] block/raw-posix: bdrv_parse_filename() for cdrom
Date: Thu, 06 Mar 2014 23:39:17 +0100	[thread overview]
Message-ID: <5318F915.9010804@redhat.com> (raw)
In-Reply-To: <20140306223737.GA28835@irqsave.net>

On 06.03.2014 23:37, Benoît Canet wrote:
> The Thursday 06 Mar 2014 à 23:25:37 (+0100), Max Reitz wrote :
>> The "host_cdrom" protocol drivers should strip the "host_cdrom:" prefix
>> from filenames if present.
>>
>> Signed-off-by: Max Reitz <mreitz@redhat.com>
>> ---
>>   block/raw-posix.c | 20 ++++++++++++++++++++
>>   1 file changed, 20 insertions(+)
>>
>> diff --git a/block/raw-posix.c b/block/raw-posix.c
>> index 4b8c183..6c9b8f2 100644
>> --- a/block/raw-posix.c
>> +++ b/block/raw-posix.c
>> @@ -1984,6 +1984,15 @@ static BlockDriver bdrv_host_floppy = {
>>       .bdrv_eject         = floppy_eject,
>>   };
>>   
>> +static void cdrom_parse_filename(const char *filename, QDict *options,
>> +                                 Error **errp)
>> +{
>> +    /* The prefix is optional, just as for "file". */
>> +    strstart(filename, "host_cdrom:", &filename);
>> +
>> +    qdict_put_obj(options, "filename", QOBJECT(qstring_from_str(filename)));
>> +}
>> +
>>   static int cdrom_open(BlockDriverState *bs, QDict *options, int flags,
>>                         Error **errp)
>>   {
>> @@ -2070,6 +2079,7 @@ static BlockDriver bdrv_host_cdrom = {
>>       .instance_size      = sizeof(BDRVRawState),
>>       .bdrv_needs_filename = true,
>>       .bdrv_probe_device	= cdrom_probe_device,
>> +    .bdrv_parse_filename = cdrom_parse_filename,
>>       .bdrv_file_open     = cdrom_open,
>>       .bdrv_close         = raw_close,
>>       .bdrv_reopen_prepare = raw_reopen_prepare,
>> @@ -2101,6 +2111,15 @@ static BlockDriver bdrv_host_cdrom = {
>>   #endif /* __linux__ */
>>   
>>   #if defined (__FreeBSD__) || defined(__FreeBSD_kernel__)
>> +static void cdrom_parse_filename(const char *filename, QDict *options,
>> +                                 Error **errp)
>> +{
>> +    /* The prefix is optional, just as for "file". */
>> +    strstart(filename, "host_cdrom:", &filename);
>> +
>> +    qdict_put_obj(options, "filename", QOBJECT(qstring_from_str(filename)));
>> +}
>> +
> The cdrom_probe_device and cdrom_open function actually differs and are not
> duplicated whereas these two instances of cdrom_parse_filename are pretty much
> the same.
> Why not putting a merged version on the top of the file and guarded by
>   #if defined(__linux__) || defined (__FreeBSD__) || defined(__FreeBSD_kernel__)
> ?

I didn't want to since the #ifdef linux began before the floppy driver 
and ended after the Linux CD-ROM driver, so I'd have to split it up. But 
since you're suggesting it now, I'll do it. ;-)

Max

>>   static int cdrom_open(BlockDriverState *bs, QDict *options, int flags,
>>                         Error **errp)
>>   {
>> @@ -2200,6 +2219,7 @@ static BlockDriver bdrv_host_cdrom = {
>>       .instance_size      = sizeof(BDRVRawState),
>>       .bdrv_needs_filename = true,
>>       .bdrv_probe_device	= cdrom_probe_device,
>> +    .bdrv_parse_filename = cdrom_parse_filename,
>>       .bdrv_file_open     = cdrom_open,
>>       .bdrv_close         = raw_close,
>>       .bdrv_reopen_prepare = raw_reopen_prepare,
>> -- 
>> 1.9.0
>>

  reply	other threads:[~2014-03-06 22:39 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-06 22:25 [Qemu-devel] [PATCH 0/5] block: Strip protocol prefixes from filenames Max Reitz
2014-03-06 22:25 ` [Qemu-devel] [PATCH 1/5] block/raw-posix: bdrv_parse_filename() for hdev Max Reitz
2014-03-06 22:38   ` Benoît Canet
2014-03-06 22:25 ` [Qemu-devel] [PATCH 2/5] block/raw-posix: bdrv_parse_filename() for floppy Max Reitz
2014-03-06 22:38   ` Benoît Canet
2014-03-06 22:25 ` [Qemu-devel] [PATCH 3/5] block/raw-posix: bdrv_parse_filename() for cdrom Max Reitz
2014-03-06 22:37   ` Benoît Canet
2014-03-06 22:39     ` Max Reitz [this message]
2014-03-06 22:25 ` [Qemu-devel] [PATCH 4/5] block/raw-posix: Strip protocol prefix on creation Max Reitz
2014-03-06 22:45   ` Benoît Canet
2014-03-06 23:58   ` Eric Blake
2014-03-06 22:27 ` Max Reitz
2014-03-06 22:27   ` [Qemu-devel] [PATCH 5/5] block/raw-win32: bdrv_parse_filename() for hdev Max Reitz
2014-03-06 22:47     ` Benoît Canet
2014-03-06 22:37   ` [Qemu-devel] [PATCH 4/5] block/raw-posix: Strip protocol prefix on creation Max Reitz

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=5318F915.9010804@redhat.com \
    --to=mreitz@redhat.com \
    --cc=benoit.canet@irqsave.net \
    --cc=kwolf@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).