Greetings, Thanks for all the responses.
Overall it sounds like supporting this is capability would be fairly easy. However, Sadly for me it sounds like this won't be useful to people generally unless they are trying to virtulize something that relies on these codes. Answers to: ------------------------------------------------ Paulo: Statement: Here we should perhaps try to improve the ATA emulation. Response: It would probably be helpful to improve both SCSI and ATA emulation. ------------------------------------------------ Markus: Question: That's not what I see. What version of QEMU are you using? Answer: Using current package for Ubuntu 0.12.5 (that's probably a bad word, give all the @redhat emails. sorry :) ) What do you see? I did download the source and check, hence the grep snippet. Statement: No. Hardcoded to "QEMU HARDDISK ". Response: Why couldn't this be a configuration item? Thanks for your reference to: docs/qdev-device-use.txt And also for the 'scsi-hd' example. I can't see why, if the "serial=S,ver=V" options are supported, that "model=" couldn't also be added. - I will try this. Statement: Doubt it would be difficult. But would it be useful? Agree with what your saying about specific calls, however, in my case I'm trying to run a vendor supplied image which "only supports" certain disks. It is currently borking because it doesn't like the disks. I strongly doubt it does any disk specific calls. They are doing this to stop us installing disks bigger than 500GB, for example. I'm trying to make "appliance" software run virtually. ------------------------------------------------ Kevin: Q: But this is scsi-disk - what does smartctl even try here? A: True. SMART only applied to ATA. I should not have included this smartctl example, however the 'dmesg' output is still relevant. ------------------------------------------------ Kind regards, Dave Seddon On Tue, 2011-06-07 at 17:04 +1000, Dave Seddon wrote: > 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 > >