From: Eric Blake <eblake@redhat.com>
To: Programmingkid <programmingkidx@gmail.com>,
Kevin Wolf <kwolf@redhat.com>
Cc: qemu-devel qemu-devel <qemu-devel@nongnu.org>,
Qemu-block <qemu-block@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH v9] block/raw-posix.c: Make physical devices usable in QEMU under Mac OS X host
Date: Wed, 25 Nov 2015 21:23:10 -0700 [thread overview]
Message-ID: <5656892E.9020908@redhat.com> (raw)
In-Reply-To: <F65606C3-58F6-4A5B-A8BD-554C64011270@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3694 bytes --]
On 11/25/2015 09:10 PM, Programmingkid wrote:
> Mac OS X can be picky when it comes to allowing the user
> to use physical devices in QEMU. Most mounted volumes
> appear to be off limits to QEMU. If an issue is detected,
> a message is displayed showing the user how to unmount a
> volume.
>
> Signed-off-by: John Arbuckle <programmingkidx@gmail.com>
>
> ---
> Added DVD support - real DVD media can now be used in QEMU!
> Changed name of FindEjectableCDMedia to FindEjectableOpticalMedia.
> Added mediaType parameter to FindEjectableOpticalMedia() for media indentification.
> Removed unneeded FindEjectableCDMedia() prototype.
> FindEjectableOpticalMedia() now searches for both DVD's and CD's.
>
> +++ b/block/raw-posix.c
> @@ -42,9 +42,9 @@
> #include <IOKit/storage/IOMediaBSDClient.h>
> #include <IOKit/storage/IOMedia.h>
> #include <IOKit/storage/IOCDMedia.h>
> -//#include <IOKit/storage/IOCDTypes.h>
> +#include <IOKit/storage/IODVDMedia.h>
> #include <CoreFoundation/CoreFoundation.h>
> -#endif
> +#endif /* (__APPLE__) && (__MACH__) */
>
I don't know if my review of v8 crossed your posting of this patch, but
I suggested that this hunk belongs in its own patch.
> #ifdef __sun__
> #define _POSIX_PTHREAD_SEMANTICS 1
> @@ -1975,32 +1975,44 @@ BlockDriver bdrv_file = {
> /* host device */
>
> #if defined(__APPLE__) && defined(__MACH__)
> -static kern_return_t FindEjectableCDMedia( io_iterator_t *mediaIterator );
> static kern_return_t GetBSDPath(io_iterator_t mediaIterator, char *bsdPath,
> CFIndex maxPathSize, int flags);
> -kern_return_t FindEjectableCDMedia( io_iterator_t *mediaIterator )
> +static kern_return_t FindEjectableOpticalMedia(io_iterator_t *mediaIterator,
> + char *mediaType)
Unusual indentation; more typical is:
| static kern_return_t FindEjectableOpticalMedia(io_iterator_t
*mediaIterator,
| char *mediatType)
> + int index;
> + for (index = 0; index < ARRAY_SIZE(matching_array); index++) {
> + classesToMatch = IOServiceMatching(matching_array[index]);
> + if (classesToMatch == NULL) {
> + printf("IOServiceMatching returned a NULL dictionary.\n");
Leftover debugging?
> + } else {
> + CFDictionarySetValue(classesToMatch, CFSTR(kIOMediaEjectableKey),
Missing indentation.
> + kCFBooleanTrue);
> + }
> + kernResult = IOServiceGetMatchingServices(masterPort, classesToMatch,
> + mediaIterator);
More unusual indentation.
> + if (KERN_SUCCESS != kernResult) {
> + printf("IOServiceGetMatchingServices returned %d\n", kernResult);
> + }
>
> + /* If you found a match, leave the loop */
> + if (*mediaIterator != 0) {
> + DPRINTF("Matching using %s\n", matching_array[index]);
> + snprintf(mediaType, strlen(matching_array[index])+1, "%s",
Spaces around binary '+'.
> + /* if a working partition on the device was not found */
> + if (partition_found == false) {
> + error_setg(errp, "Error: Failed to find a working partition on "
> + "disc!\n");
and I already pointed out on v8 that this is not the correct usage of
error_setg(). So, here's hoping v10 addresses the comments here and
elsewhere.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]
next prev parent reply other threads:[~2015-11-26 4:23 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-26 4:10 [Qemu-devel] [PATCH v9] block/raw-posix.c: Make physical devices usable in QEMU under Mac OS X host Programmingkid
2015-11-26 4:23 ` Eric Blake [this message]
2015-11-26 4:29 ` Eric Blake
2015-11-27 21:24 ` Programmingkid
2015-11-27 19:35 ` Programmingkid
2015-11-30 16:19 ` Eric Blake
2015-11-30 16:26 ` Kevin Wolf
2015-11-30 16:38 ` Programmingkid
2015-11-30 16:49 ` Eric Blake
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=5656892E.9020908@redhat.com \
--to=eblake@redhat.com \
--cc=kwolf@redhat.com \
--cc=programmingkidx@gmail.com \
--cc=qemu-block@nongnu.org \
--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.