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, §ors); > + if (ret == -1) { > + return 0;
We should be falling back to lseek, not returning 0... thanks -- PMM