• Z
    hw/block/nvme: add smart_critical_warning property · 4714791b
    zhenwei pi 提交于
    There is a very low probability that hitting physical NVMe disk
    hardware critical warning case, it's hard to write & test a monitor
    agent service.
    
    For debugging purposes, add a new 'smart_critical_warning' property
    to emulate this situation.
    
    The orignal version of this change is implemented by adding a fixed
    property which could be initialized by QEMU command line. Suggested
    by Philippe & Klaus, rework like current version.
    
    Test with this patch:
    1, change smart_critical_warning property for a running VM:
     #virsh qemu-monitor-command nvme-upstream '{ "execute": "qom-set",
      "arguments": { "path": "/machine/peripheral-anon/device[0]",
      "property": "smart_critical_warning", "value":16 } }'
    2, run smartctl in guest
     #smartctl -H -l error /dev/nvme0n1
    
      === START OF SMART DATA SECTION ===
      SMART overall-health self-assessment test result: FAILED!
      - volatile memory backup device has failed
    Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
    Signed-off-by: Nzhenwei pi <pizhenwei@bytedance.com>
    Signed-off-by: NKlaus Jensen <k.jensen@samsung.com>
    4714791b
nvme.c 132.9 KB