read-only: allow read-only CDROM with any interface
Signed-off-by: Naphtali Sprei <nsprei@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
		
							parent
							
								
									f7c11b5350
								
							
						
					
					
						commit
						2db7ad59fc
					
				
							
								
								
									
										13
									
								
								vl.c
								
								
								
								
							
							
						
						
									
										13
									
								
								vl.c
								
								
								
								
							| 
						 | 
				
			
			@ -1185,19 +1185,16 @@ DriveInfo *drive_init(QemuOpts *opts, void *opaque,
 | 
			
		|||
        bdrv_flags &= ~BDRV_O_NATIVE_AIO;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (ro == 1) {
 | 
			
		||||
    if (media == MEDIA_CDROM) {
 | 
			
		||||
        /* CDROM is fine for any interface, don't check.  */
 | 
			
		||||
        ro = 1;
 | 
			
		||||
    } else if (ro == 1) {
 | 
			
		||||
        if (type != IF_SCSI && type != IF_VIRTIO && type != IF_FLOPPY) {
 | 
			
		||||
            fprintf(stderr, "qemu: readonly flag not supported for drive with this interface\n");
 | 
			
		||||
            return NULL;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    /* 
 | 
			
		||||
     * cdrom is read-only. Set it now, after above interface checking
 | 
			
		||||
     * since readonly attribute not explicitly required, so no error.
 | 
			
		||||
     */
 | 
			
		||||
    if (media == MEDIA_CDROM) {
 | 
			
		||||
        ro = 1;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    bdrv_flags |= ro ? 0 : BDRV_O_RDWR;
 | 
			
		||||
 | 
			
		||||
    if (bdrv_open2(dinfo->bdrv, file, bdrv_flags, drv) < 0) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue