Commit 1556a8fc authored by Gerd Hoffmann's avatar Gerd Hoffmann
Browse files

uas: add property for request logging



Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent 5c67dd7b
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -113,6 +113,9 @@ struct UASDevice {
    QTAILQ_HEAD(, UASStatus)  results;
    QTAILQ_HEAD(, UASRequest) requests;

    /* properties */
    uint32_t                  requestlog;

    /* usb 2.0 only */
    USBPacket                 *status2;
    UASRequest                *datain2;
@@ -692,9 +695,9 @@ static void usb_uas_command(UASDevice *uas, uas_ui *ui)
    req->req = scsi_req_new(req->dev, req->tag,
                            usb_uas_get_lun(req->lun),
                            ui->command.cdb, req);
#if 1
    if (uas->requestlog) {
        scsi_req_print(req->req);
#endif
    }
    len = scsi_req_enqueue(req->req);
    if (len) {
        req->data_size = len;
@@ -902,6 +905,11 @@ static const VMStateDescription vmstate_usb_uas = {
    }
};

static Property uas_properties[] = {
    DEFINE_PROP_UINT32("log-scsi-req", UASDevice, requestlog, 0),
    DEFINE_PROP_END_OF_LIST(),
};

static void usb_uas_class_initfn(ObjectClass *klass, void *data)
{
    DeviceClass *dc = DEVICE_CLASS(klass);
@@ -919,6 +927,7 @@ static void usb_uas_class_initfn(ObjectClass *klass, void *data)
    set_bit(DEVICE_CATEGORY_STORAGE, dc->categories);
    dc->fw_name = "storage";
    dc->vmsd = &vmstate_usb_uas;
    dc->props = uas_properties;
}

static const TypeInfo uas_info = {