bdev_virtio: slight cleanup

Fixed typos, updated comments and
simplified the code.

Change-Id: I7eaa7227518d376d86cd4a6eb0348f1efc7b47fd
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/382024
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Dariusz Stojaczyk 2017-10-10 17:50:20 +02:00 committed by Jim Harris
parent 3da8f166d4
commit 6c0233c0a5
3 changed files with 12 additions and 21 deletions

View File

@ -111,7 +111,7 @@ SPDK_BDEV_MODULE_REGISTER(virtio_scsi, bdev_virtio_initialize, bdev_virtio_finis
SPDK_BDEV_MODULE_ASYNC_INIT(virtio_scsi) SPDK_BDEV_MODULE_ASYNC_INIT(virtio_scsi)
static struct virtio_req * static struct virtio_req *
bdev_virtio_init_vreq(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io) bdev_virtio_init_io_vreq(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io)
{ {
struct virtio_req *vreq; struct virtio_req *vreq;
struct virtio_scsi_cmd_req *req; struct virtio_scsi_cmd_req *req;
@ -141,8 +141,8 @@ bdev_virtio_init_vreq(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io)
static void static void
bdev_virtio_rw(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io) bdev_virtio_rw(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io)
{ {
struct virtio_scsi_disk *disk = (struct virtio_scsi_disk *)bdev_io->bdev; struct virtio_scsi_disk *disk = SPDK_CONTAINEROF(bdev_io->bdev, struct virtio_scsi_disk, bdev);
struct virtio_req *vreq = bdev_virtio_init_vreq(ch, bdev_io); struct virtio_req *vreq = bdev_virtio_init_io_vreq(ch, bdev_io);
struct virtio_scsi_cmd_req *req = vreq->iov_req.iov_base; struct virtio_scsi_cmd_req *req = vreq->iov_req.iov_base;
vreq->iov = bdev_io->u.bdev.iovs; vreq->iov = bdev_io->u.bdev.iovs;
@ -164,8 +164,8 @@ bdev_virtio_rw(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io)
static void static void
bdev_virtio_unmap(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io) bdev_virtio_unmap(struct spdk_io_channel *ch, struct spdk_bdev_io *bdev_io)
{ {
struct virtio_scsi_disk *disk = (struct virtio_scsi_disk *)bdev_io->bdev; struct virtio_scsi_disk *disk = SPDK_CONTAINEROF(bdev_io->bdev, struct virtio_scsi_disk, bdev);
struct virtio_req *vreq = bdev_virtio_init_vreq(ch, bdev_io); struct virtio_req *vreq = bdev_virtio_init_io_vreq(ch, bdev_io);
struct virtio_scsi_cmd_req *req = vreq->iov_req.iov_base; struct virtio_scsi_cmd_req *req = vreq->iov_req.iov_base;
struct spdk_scsi_unmap_bdesc *desc, *first_desc; struct spdk_scsi_unmap_bdesc *desc, *first_desc;
uint8_t *buf; uint8_t *buf;

View File

@ -59,12 +59,6 @@
#include "virtio_logs.h" #include "virtio_logs.h"
#include "virtio_queue.h" #include "virtio_queue.h"
static uint16_t
virtio_get_nr_vq(struct virtio_dev *dev)
{
return dev->max_queues;
}
static void static void
virtio_init_vring(struct virtqueue *vq) virtio_init_vring(struct virtqueue *vq)
{ {
@ -190,7 +184,7 @@ fail_q_alloc:
static void static void
virtio_free_queues(struct virtio_dev *dev) virtio_free_queues(struct virtio_dev *dev)
{ {
uint16_t nr_vq = virtio_get_nr_vq(dev); uint16_t nr_vq = dev->max_queues;
struct virtqueue *vq; struct virtqueue *vq;
uint16_t i; uint16_t i;
@ -215,7 +209,7 @@ virtio_free_queues(struct virtio_dev *dev)
static int static int
virtio_alloc_queues(struct virtio_dev *dev) virtio_alloc_queues(struct virtio_dev *dev)
{ {
uint16_t nr_vq = virtio_get_nr_vq(dev); uint16_t nr_vq = dev->max_queues;
uint16_t i; uint16_t i;
int ret; int ret;
@ -236,9 +230,9 @@ virtio_alloc_queues(struct virtio_dev *dev)
return 0; return 0;
} }
/* Negotiate virtio features. This will also set dev->modern if virtio /**
* device offers VIRTIO_F_VERSION_1 flag. If dev->modern has been set before, * Negotiate virtio features. For virtio_user this will also set
* the mentioned flag must be offered. Otherwise an error is returned. * dev->modern flag if VIRTIO_F_VERSION_1 flag is negotiated.
*/ */
static int static int
virtio_negotiate_features(struct virtio_dev *dev, uint64_t req_features) virtio_negotiate_features(struct virtio_dev *dev, uint64_t req_features)

View File

@ -45,10 +45,10 @@ struct virtio_dev {
/** Max number of queues the host supports. */ /** Max number of queues the host supports. */
uint16_t max_queues; uint16_t max_queues;
/* Device index. */ /** Device index. */
uint32_t id; uint32_t id;
/* Common device & guest features. */ /** Common device & guest features. */
uint64_t negotiated_features; uint64_t negotiated_features;
int is_hw; int is_hw;
@ -81,8 +81,5 @@ uint16_t virtio_xmit_pkts(struct virtqueue *vq, struct virtio_req *req);
int virtio_dev_init(struct virtio_dev *hw, uint64_t req_features); int virtio_dev_init(struct virtio_dev *hw, uint64_t req_features);
void virtio_dev_free(struct virtio_dev *dev); void virtio_dev_free(struct virtio_dev *dev);
int virtio_dev_start(struct virtio_dev *hw); int virtio_dev_start(struct virtio_dev *hw);
struct virtio_dev *get_pci_virtio_hw(void);
void virtio_interrupt_handler(void *param);
#endif /* _VIRTIO_DEV_H_ */ #endif /* _VIRTIO_DEV_H_ */