On 15 January 2015 at 23:40, Programmingkid <programmingk...@gmail.com> wrote: > This patch allows Mac OS X to use a real CDROM disc in QEMU. Testing this > patch will require using QEMU v2.2.0 because the current git version has a > bug in it that prevents /dev/cdrom from being used. "make check" did pass and > my Debian boot disc did work. > > Signed-off-by: John Arbuckle <programmingk...@gmail.com> > > --- > Totally rewritten. > > block/raw-posix.c | 15 ++++++++++++++- > 1 files changed, 14 insertions(+), 1 deletions(-) > > diff --git a/block/raw-posix.c b/block/raw-posix.c > index e51293a..a95cfcf 100644 > --- a/block/raw-posix.c > +++ b/block/raw-posix.c > @@ -1312,7 +1312,20 @@ again: > if (size == 0) > #endif > #if defined(__APPLE__) && defined(__MACH__) > - size = LLONG_MAX; > + { > + uint64_t sectors = 0; > + uint32_t sector_size = 0; > + > + if (ioctl(fd, DKIOCGETBLOCKCOUNT, §ors) == 0 > + && ioctl(fd, DKIOCGETBLOCKSIZE, §or_size) == 0) { > + size = sectors * sector_size; > + } else { > + size = lseek(fd, 0LL, SEEK_END); > + if (size < 0) { > + return -errno; > + } > + } > + } > #else
You have the indentation here wrong -- the first '{' should be at the same indent as the 'size = ' line you've deleted; and as Markus says the commit message could be neatened up. Otherwise, code looks good and it passes make check, so Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> -- PMM