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
>>
next prev parent 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).