vhost-scsi: unify vhost-scsi get_features implementations
Move the enablement of preset host features into the common vhost_scsi_common_get_features() function. This is in preparation for having vhost-scsi also make use of host_features. Signed-off-by: Greg Edwards <gedwards@ddn.com> Message-Id: <20180808195235.5843-3-gedwards@ddn.com> Reviewed-by: Felipe Franciosi <felipe@nutanix.com> Reviewed-by: Fam Zheng <famz@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
eb5757fcbe
commit
b1110d833c
@ -96,6 +96,9 @@ uint64_t vhost_scsi_common_get_features(VirtIODevice *vdev, uint64_t features,
|
|||||||
{
|
{
|
||||||
VHostSCSICommon *vsc = VHOST_SCSI_COMMON(vdev);
|
VHostSCSICommon *vsc = VHOST_SCSI_COMMON(vdev);
|
||||||
|
|
||||||
|
/* Turn on predefined features supported by this device */
|
||||||
|
features |= vsc->host_features;
|
||||||
|
|
||||||
return vhost_get_features(&vsc->dev, vsc->feature_bits, features);
|
return vhost_get_features(&vsc->dev, vsc->feature_bits, features);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -137,18 +137,6 @@ static void vhost_user_scsi_unrealize(DeviceState *dev, Error **errp)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint64_t vhost_user_scsi_get_features(VirtIODevice *vdev,
|
|
||||||
uint64_t features, Error **errp)
|
|
||||||
{
|
|
||||||
VHostUserSCSI *s = VHOST_USER_SCSI(vdev);
|
|
||||||
VHostSCSICommon *vsc = VHOST_SCSI_COMMON(s);
|
|
||||||
|
|
||||||
/* Turn on predefined features supported by this device */
|
|
||||||
features |= vsc->host_features;
|
|
||||||
|
|
||||||
return vhost_scsi_common_get_features(vdev, features, errp);
|
|
||||||
}
|
|
||||||
|
|
||||||
static Property vhost_user_scsi_properties[] = {
|
static Property vhost_user_scsi_properties[] = {
|
||||||
DEFINE_PROP_CHR("chardev", VirtIOSCSICommon, conf.chardev),
|
DEFINE_PROP_CHR("chardev", VirtIOSCSICommon, conf.chardev),
|
||||||
DEFINE_PROP_UINT32("boot_tpgt", VirtIOSCSICommon, conf.boot_tpgt, 0),
|
DEFINE_PROP_UINT32("boot_tpgt", VirtIOSCSICommon, conf.boot_tpgt, 0),
|
||||||
@ -188,7 +176,7 @@ static void vhost_user_scsi_class_init(ObjectClass *klass, void *data)
|
|||||||
set_bit(DEVICE_CATEGORY_STORAGE, dc->categories);
|
set_bit(DEVICE_CATEGORY_STORAGE, dc->categories);
|
||||||
vdc->realize = vhost_user_scsi_realize;
|
vdc->realize = vhost_user_scsi_realize;
|
||||||
vdc->unrealize = vhost_user_scsi_unrealize;
|
vdc->unrealize = vhost_user_scsi_unrealize;
|
||||||
vdc->get_features = vhost_user_scsi_get_features;
|
vdc->get_features = vhost_scsi_common_get_features;
|
||||||
vdc->set_config = vhost_scsi_common_set_config;
|
vdc->set_config = vhost_scsi_common_set_config;
|
||||||
vdc->set_status = vhost_user_scsi_set_status;
|
vdc->set_status = vhost_user_scsi_set_status;
|
||||||
fwc->get_dev_path = vhost_scsi_common_get_fw_dev_path;
|
fwc->get_dev_path = vhost_scsi_common_get_fw_dev_path;
|
||||||
|
Loading…
Reference in New Issue
Block a user