Greetings, Just wondering if it would be difficult to add the ability to define the SCSI disk "Device Model", "Serial Number", and "Firmware Version". I've been using the '-device lsi' successfully to emulate the LSI controller, but now I want to emulate certain disks too.
e.g. I've been using this: --------------------------- ... -drive if=none,id=disk00,file=/home/das/documents/qemu/disk00.img.qcow,media=disk,cache=writeback \ -device lsi \ -device scsi-disk,drive=disk00,bus=scsi.0 \ ... --------------------------- The reason this would be really cool is that tools like smartmontools seem to match on the "Device Model", and the device-model "QEMU" hasn't made it into the list yet. I found hunting around the net that somebody has tried to make this work. I'm not sure if it works. '-drive ...,serial=xyz' This is how the QEMU disks are currently seen in dmesg: ------------------------------------------------------- scsi 0:0:0:0: Direct-Access QEMU QEMU HARDDISK 0.12 PQ: 0 ANSI: 3 target0:0:0: tagged command queuing enabled, command queue depth 16. target0:0:0: Beginning Domain Validation target0:0:0: Domain Validation skipping write tests target0:0:0: Ending Domain Validation ------------------------------------------------------- This is an example of a real disk, that I would like to 'fake': ------------------------------------------------------- scsi 2:0:0:0: Direct-Access ATA ST3500320NS SN06 PQ: 0 ANSI: 5 sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB) sd 2:0:0:0: [sda] Write Protect is off sd 2:0:0:0: [sda] Mode Sense: 73 00 00 08 sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 2:0:0:0: [sda] 976773168 512-byte hardware sectors (500108 MB) sd 2:0:0:0: [sda] Write Protect is off sd 2:0:0:0: [sda] Mode Sense: 73 00 00 08 sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA ------------------------------------------------------- Here's an example of the nasty/QEMU output of smartmontools: ------------------------------------------------------- # smartctl -d sat --all /dev/sg0 smartctl version 5.38 [i686-spcdn-linux-gnu] Copyright (C) 2002-8 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF INFORMATION SECTION === Device Model: [No Information Found] Serial Number: [No Information Found] Firmware Version: �" Device is: Not in smartctl database [for details use: -P showall] ATA Version is: 1 ATA Standard is: Exact ATA specification draft version not indicated Local Time is: Tue Jun 7 16:57:08 2011 UTC SMART is only available in ATA Version 3 Revision 3 or greater. We will try to proceed in spite of this. SMART support is: Ambiguous - ATA IDENTIFY DEVICE words 82-83 don't show if SMART supported. Checking for SMART support by trying SMART ENABLE command. SMART ENABLE appeared to work! Continuing. SMART support is: Ambiguous - ATA IDENTIFY DEVICE words 85-87 don't show if SMART is enabled. A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options ------------------------------------------------------- Here's an example of the output of smartmontools from a real disk: ------------------------------------------------------- # smartctl -d sat --all /dev/sg1 smartctl version 5.38 [i686-spcdn-linux-gnu] Copyright (C) 2002-8 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF INFORMATION SECTION === Device Model: ST3500320NS <--- CAN WE SIMULATE THIS? Serial Number: 9QMCAMS6 <--- AND THIS? Firmware Version: SN06 <--- AND THIS? User Capacity: 500,107,862,016 bytes Device is: Not in smartctl database [for details use: -P showall] ATA Version is: 8 ATA Standard is: ATA-8-ACS revision 4 Local Time is: Tue Jun 7 06:01:29 2011 UTC SMART support is: Available - device has SMART capability. SMART support is: Enabled ------------------------------------------------------- Looking in the source, I can see that the "QEMU HARDDISK" for example is statically defined. Would this be difficult to make an option for the '-drive '? ------------------------------------------------------- [root@tester hw]# grep -R 'QEMU' scsi-disk.c QEMUIOVector qiov; QEMUBH *bh; memcpy(&outbuf[16], "QEMU CD-ROM ", 16); memcpy(&outbuf[16], "QEMU HARDDISK ", 16); memcpy(&outbuf[8], "QEMU ", 8); s->version = qemu_strdup(QEMU_VERSION); ------------------------------------------------------- Kind regards, Dave Seddon d...@seddon.ca