Lines Matching defs:vdev
71 struct spdk_vhost_dev vdev;
115 static int vhost_scsi_start(struct spdk_vhost_dev *vdev,
117 static int vhost_scsi_stop(struct spdk_vhost_dev *vdev,
119 static void vhost_scsi_dump_info_json(struct spdk_vhost_dev *vdev,
121 static void vhost_scsi_write_config_json(struct spdk_vhost_dev *vdev,
123 static int vhost_scsi_dev_remove(struct spdk_vhost_dev *vdev);
124 static int vhost_scsi_dev_param_changed(struct spdk_vhost_dev *vdev,
178 if (vhost_dev_unregister(&svdev->vdev) == 0) {
197 state->remove_cb(&svdev->vdev, state->remove_ctx);
211 vhost_scsi_dev_process_removed_cpl_cb(struct spdk_vhost_dev *vdev, void *ctx)
214 struct spdk_vhost_scsi_dev *svdev = SPDK_CONTAINEROF(vdev,
215 struct spdk_vhost_scsi_dev, vdev);
227 vhost_scsi_session_process_removed(struct spdk_vhost_dev *vdev,
264 vhost_user_dev_foreach_session(&svsession->svdev->vdev,
850 return SPDK_CONTAINEROF(ctrlr, struct spdk_vhost_scsi_dev, vdev);
856 assert(vsession->vdev->backend->type == VHOST_BACKEND_SCSI);
863 struct spdk_vhost_dev *vdev;
868 vdev = spdk_vhost_dev_find(name);
869 if (vdev == NULL) {
874 svdev = to_scsi_dev(vdev);
883 rc = vhost_user_dev_start(vdev);
904 svdev->vdev.virtio_features = SPDK_VHOST_SCSI_FEATURES;
905 svdev->vdev.disabled_features = SPDK_VHOST_SCSI_DISABLED_FEATURES;
906 svdev->vdev.protocol_features = SPDK_VHOST_SCSI_PROTOCOL_FEATURES;
908 rc = vhost_dev_register(&svdev->vdev, name, cpumask, NULL,
936 vhost_scsi_dev_remove(struct spdk_vhost_dev *vdev)
938 struct spdk_vhost_scsi_dev *svdev = to_scsi_dev(vdev);
943 if (vhost_user_dev_busy(vdev)) {
949 rc = spdk_vhost_scsi_dev_remove_tgt(vdev, i, NULL, NULL);
951 SPDK_ERRLOG("%s: failed to force-remove target %d\n", vdev->name, i);
960 rc = vhost_dev_unregister(vdev);
971 spdk_vhost_scsi_dev_get_tgt(struct spdk_vhost_dev *vdev, uint8_t num)
976 svdev = to_scsi_dev(vdev);
1017 vhost_scsi_dev_param_changed(&svdev->vdev, scsi_dev_num);
1033 spdk_vhost_scsi_dev_remove_tgt(&svdev->vdev, scsi_dev_num, NULL, NULL);
1037 vhost_scsi_dev_add_tgt_cpl_cb(struct spdk_vhost_dev *vdev, void *ctx)
1040 struct spdk_vhost_scsi_dev *svdev = SPDK_CONTAINEROF(vdev,
1041 struct spdk_vhost_scsi_dev, vdev);
1053 vhost_scsi_session_add_tgt(struct spdk_vhost_dev *vdev,
1104 spdk_vhost_scsi_dev_add_tgt(struct spdk_vhost_dev *vdev, int scsi_tgt_num,
1113 svdev = to_scsi_dev(vdev);
1127 SPDK_ERRLOG("%s: all SCSI target slots are already in use.\n", vdev->name);
1133 vdev->name, scsi_tgt_num, SPDK_VHOST_SCSI_CTRLR_MAX_DEVS - 1);
1145 SPDK_ERRLOG("%s: SCSI target %u already occupied\n", vdev->name, scsi_tgt_num);
1165 vdev->name, scsi_tgt_num, bdev_name);
1171 vdev->name, scsi_tgt_num, bdev_name);
1174 vhost_user_dev_foreach_session(vdev, vhost_scsi_session_add_tgt,
1191 vhost_scsi_dev_remove_tgt_cpl_cb(struct spdk_vhost_dev *vdev, void *_ctx)
1194 struct spdk_vhost_scsi_dev *svdev = SPDK_CONTAINEROF(vdev,
1195 struct spdk_vhost_scsi_dev, vdev);
1206 vhost_scsi_session_remove_tgt(struct spdk_vhost_dev *vdev,
1237 spdk_vhost_scsi_dev_remove_tgt(struct spdk_vhost_dev *vdev, unsigned scsi_tgt_num,
1245 SPDK_ERRLOG("%s: invalid SCSI target number %d\n", vdev->name, scsi_tgt_num);
1249 svdev = to_scsi_dev(vdev);
1262 SPDK_ERRLOG("%s: SCSI target %u is not occupied\n", vdev->name, scsi_tgt_num);
1280 vhost_user_dev_foreach_session(vdev, vhost_scsi_session_remove_tgt,
1286 vhost_scsi_session_param_changed(struct spdk_vhost_dev *vdev,
1318 vhost_scsi_dev_param_changed(struct spdk_vhost_dev *vdev, unsigned scsi_tgt_num)
1324 SPDK_ERRLOG("%s: invalid SCSI target number %d\n", vdev->name, scsi_tgt_num);
1328 svdev = to_scsi_dev(vdev);
1341 SPDK_ERRLOG("%s: SCSI target %u is not occupied\n", vdev->name, scsi_tgt_num);
1347 vhost_user_dev_foreach_session(vdev, vhost_scsi_session_param_changed,
1415 vhost_scsi_start(struct spdk_vhost_dev *vdev,
1442 svdev = to_scsi_dev(vsession->vdev);
1482 struct spdk_vhost_user_dev *user_dev = to_user_dev(vsession->vdev);
1521 vhost_user_dev_foreach_session(vsession->vdev,
1542 vhost_scsi_stop(struct spdk_vhost_dev *vdev,
1574 vhost_scsi_dump_info_json(struct spdk_vhost_dev *vdev, struct spdk_json_write_ctx *w)
1580 assert(vdev != NULL);
1583 sdev = spdk_vhost_scsi_dev_get_tgt(vdev, dev_idx);
1617 vhost_scsi_write_config_json(struct spdk_vhost_dev *vdev, struct spdk_json_write_ctx *w)
1627 spdk_json_write_named_string(w, "ctrlr", vdev->name);
1629 spdk_cpuset_fmt(spdk_thread_get_cpumask(vdev->thread)));
1636 scsi_dev = spdk_vhost_scsi_dev_get_tgt(vdev, i);
1648 spdk_json_write_named_string(w, "ctrlr", vdev->name);
1661 spdk_json_write_named_string(w, "ctrlr", vdev->name);