-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 20/07/2015 12:48, Stefan Hajnoczi wrote: > On Fri, Jul 17, 2015 at 03:24:34PM -0400, Programmingkid wrote: >> >> On Jul 17, 2015, at 9:41 AM, Stefan Hajnoczi wrote: >> >>> On Thu, Jul 16, 2015 at 04:46:07PM -0400, Programmingkid >>> wrote: >>>> @@ -2014,7 +2015,9 @@ kern_return_t GetBSDPath( io_iterator_t >>>> mediaIterator, char *bsdPath, CFIndex ma if ( >>>> bsdPathAsCFString ) { size_t devPathLength; strcpy( bsdPath, >>>> _PATH_DEV ); - strcat( bsdPath, "r" ); + >>>> if (flags & BDRV_O_NOCACHE) { + >>>> strcat(bsdPath, "r"); + } devPathLength = strlen( >>>> bsdPath ); if ( CFStringGetCString( bsdPathAsCFString, >>>> bsdPath + devPathLength, maxPathSize - devPathLength, >>>> kCFStringEncodingASCII ) ) { kernResult = KERN_SUCCESS; >>> >>> Is this the fix that makes CD-ROM passthrough work for you? >>> >>> Does the guest boot successfully when you do: >>> >>> -drive if=ide,media=cdrom,cache=none,file=/dev/cdrom >> >> The guest fails during the boot process with the above command >> line. > > That means the issue you originally hit hasn't been solved yet. > > Take a look at s->needs_alignment and raw_probe_alignment(). In > the -drive cache=none case raw-posix needs to detect the correct > alignment (probably 2 KB for CD-ROMs). As raw_open_common() sets needs_alignment to true on BDRV_O_NOCACHE (cache="none") and raw_probe_alignment() detects alignment if needs_alignment is true, I don't understand why it doesn't work. Could you explain ? Laurent -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlWs7bcACgkQNKT2yavzbFMxIwCcCPYXvcSZTnjp7UVQBUVLAj6K iY0An2l1ttpVEb9bZP+VEakuU75X/Zd7 =S83F -----END PGP SIGNATURE-----