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:
parent
3da8f166d4
commit
6c0233c0a5
@ -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;
|
||||||
|
@ -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)
|
||||||
|
@ -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_ */
|
||||||
|
Loading…
Reference in New Issue
Block a user