On 13 January 2015 at 18:26, Programmingkid <programmingk...@gmail.com> wrote:
> Allows for using real cdrom disc in QEMU under Mac OS X.
>
> This command was used to see if this patch worked:
> ./qemu-system-i386 -drive if=none,id=drive0,file=/dev/null,format=raw
>
> Signed-off-by: John Arbuckle <programmingk...@gmail.com>
>
> ---
> Replaced -errno with 0 for ioctl() failure return value.
> "make check" now passes with this patch.
>
>
>  block/raw-posix.c |   18 +++++++++++++++++-
>  configure         |    2 +-
>  2 files changed, 18 insertions(+), 2 deletions(-)
>
> diff --git a/block/raw-posix.c b/block/raw-posix.c
> index e51293a..16fa0a4 100644
> --- a/block/raw-posix.c
> +++ b/block/raw-posix.c
> @@ -1312,7 +1312,23 @@ again:
>          if (size == 0)
>  #endif
>  #if defined(__APPLE__) && defined(__MACH__)
> -        size = LLONG_MAX;
> +    {
> +        uint64_t sectors = 0;
> +        uint32_t sector_size = 0;
> +
> +        /* Query the number of sectors on the disk */
> +        ret = ioctl(fd, DKIOCGETBLOCKCOUNT, &sectors);
> +        if (ret == -1) {
> +            return 0;

We should be falling back to lseek, not returning 0...

thanks
-- PMM

Reply via email to