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


Reply via email to