Displaying 20 results from an estimated 47 matches for "virtio_blk_s_ok".
2007 Dec 21
0
[Virtio-for-kvm] [PATCH 3/7] userspace virtio
...the first element of the read scatter-gather list. */
+struct virtio_blk_outhdr
+{
+ /* VIRTIO_BLK_T* */
+ uint32_t type;
+ /* io priority. */
+ uint32_t ioprio;
+ /* Sector (ie. 512 byte offset) */
+ uint64_t sector;
+ /* Where to put reply. */
+ uint64_t id;
+};
+
+#define VIRTIO_BLK_S_OK 0
+#define VIRTIO_BLK_S_IOERR 1
+#define VIRTIO_BLK_S_UNSUPP 2
+
+/* This is the first element of the write scatter-gather list */
+struct virtio_blk_inhdr
+{
+ unsigned char status;
+};
+
+typedef struct VirtIOBlock
+{
+ VirtIODevice vdev;
+ BlockDriverState *bs;
+} VirtIOBlo...
2007 Dec 21
0
[Virtio-for-kvm] [PATCH 3/7] userspace virtio
...the first element of the read scatter-gather list. */
+struct virtio_blk_outhdr
+{
+ /* VIRTIO_BLK_T* */
+ uint32_t type;
+ /* io priority. */
+ uint32_t ioprio;
+ /* Sector (ie. 512 byte offset) */
+ uint64_t sector;
+ /* Where to put reply. */
+ uint64_t id;
+};
+
+#define VIRTIO_BLK_S_OK 0
+#define VIRTIO_BLK_S_IOERR 1
+#define VIRTIO_BLK_S_UNSUPP 2
+
+/* This is the first element of the write scatter-gather list */
+struct virtio_blk_inhdr
+{
+ unsigned char status;
+};
+
+typedef struct VirtIOBlock
+{
+ VirtIODevice vdev;
+ BlockDriverState *bs;
+} VirtIOBlo...
2010 Feb 18
5
[PATCH] virtio-spec: document block CMD and FLUSH
...d_layout
\begin_layout Plain Layout
+\change_deleted 0 1266472188
+
#define VIRTIO_BLK_T_BARRIER 0x80000000
+\change_unchanged
+
\end_layout
\begin_layout Plain Layout
@@ -4735,11 +4763,15 @@ struct virtio_blk_req {
\begin_layout Plain Layout
+\change_deleted 0 1266472204
+
#define VIRTIO_BLK_S_OK 0
\end_layout
\begin_layout Plain Layout
+\change_deleted 0 1266472204
+
#define VIRTIO_BLK_S_IOERR 1
\end_layout
@@ -4759,32 +4791,481 @@ struct virtio_blk_req {
\end_layout
\begin_layout Standard
-The type of the request is either a read (VIRTIO_BLK_T_IN) or a write (VIRT...
2010 Feb 18
5
[PATCH] virtio-spec: document block CMD and FLUSH
...d_layout
\begin_layout Plain Layout
+\change_deleted 0 1266472188
+
#define VIRTIO_BLK_T_BARRIER 0x80000000
+\change_unchanged
+
\end_layout
\begin_layout Plain Layout
@@ -4735,11 +4763,15 @@ struct virtio_blk_req {
\begin_layout Plain Layout
+\change_deleted 0 1266472204
+
#define VIRTIO_BLK_S_OK 0
\end_layout
\begin_layout Plain Layout
+\change_deleted 0 1266472204
+
#define VIRTIO_BLK_S_IOERR 1
\end_layout
@@ -4759,32 +4791,481 @@ struct virtio_blk_req {
\end_layout
\begin_layout Standard
-The type of the request is either a read (VIRTIO_BLK_T_IN) or a write (VIRT...
2018 Nov 03
0
[PATCH 1/1] Add vhost_blk driver
...121 struct vhost_blk_req *req = container_of(iocb, struct vhost_blk_req,
122 iocb);
123
124 pr_debug("%s vq[%d] req->index %d ret %ld ret2 %ld\n", __func__,
125 req->q->index, req->index, ret, ret2);
126
127 req->res = (ret == req->len) ? VIRTIO_BLK_S_OK : VIRTIO_BLK_S_IOERR;
128 llist_add(&req->list, &req->q->wl);
> 129 vhost_vq_work_queue(&req->q->vq, &req->q->w);
130 }
131
132 static int vhost_blk_req_handle(struct vhost_blk_req *req)
133 {
134 struct vhost_blk *blk = req->q->b...
2012 Oct 09
2
[PATCH] vhost-blk: Add vhost-blk support v2
...IBLE);
+ schedule();
+ if (unlikely(kthread_should_stop()))
+ break;
+ continue;
+ }
+ added = false;
+ while (llnode) {
+ req = llist_entry(llnode, struct vhost_blk_req, llnode);
+ llnode = llist_next(llnode);
+
+ vhost_blk_req_umap(req);
+
+ status = req->len > 0 ?
+ VIRTIO_BLK_S_OK : VIRTIO_BLK_S_IOERR;
+ ret = copy_to_user(req->status, &status,
+ sizeof(status));
+ if (unlikely(ret)) {
+ vq_err(&blk->vq, "Failed to write status\n");
+ return -1;
+ }
+ vhost_add_used(&blk->vq, req->head, req->len);
+ added = true;
+...
2012 Oct 09
2
[PATCH] vhost-blk: Add vhost-blk support v2
...IBLE);
+ schedule();
+ if (unlikely(kthread_should_stop()))
+ break;
+ continue;
+ }
+ added = false;
+ while (llnode) {
+ req = llist_entry(llnode, struct vhost_blk_req, llnode);
+ llnode = llist_next(llnode);
+
+ vhost_blk_req_umap(req);
+
+ status = req->len > 0 ?
+ VIRTIO_BLK_S_OK : VIRTIO_BLK_S_IOERR;
+ ret = copy_to_user(req->status, &status,
+ sizeof(status));
+ if (unlikely(ret)) {
+ vq_err(&blk->vq, "Failed to write status\n");
+ return -1;
+ }
+ vhost_add_used(&blk->vq, req->head, req->len);
+ added = true;
+...
2018 Nov 02
0
[PATCH 1/1] Add vhost_blk driver
...+{
> + struct vhost_blk_req *req = container_of(iocb, struct vhost_blk_req,
> + iocb);
> +
> + pr_debug("%s vq[%d] req->index %d ret %ld ret2 %ld\n", __func__,
> + req->q->index, req->index, ret, ret2);
> +
> + req->res = (ret == req->len) ? VIRTIO_BLK_S_OK : VIRTIO_BLK_S_IOERR;
> + llist_add(&req->list, &req->q->wl);
> + vhost_vq_work_queue(&req->q->vq, &req->q->w);
> +}
> +
> +static int vhost_blk_req_handle(struct vhost_blk_req *req)
> +{
> + struct vhost_blk *blk = req->q->blk;
> +...
2012 Jul 28
1
[PATCH V4 0/3] Improve virtio-blk performance
Hi, Jens & Rusty
This version is rebased against linux-next which resolves the conflict with
Paolo Bonzini's 'virtio-blk: allow toggling host cache between writeback and
writethrough' patch.
Patch 1/3 and 2/3 applies on linus's master as well. Since Rusty will pick up
patch 3/3 so the changes to block core (adding blk_bio_map_sg()) will have a
user.
Jens, could you please
2012 Jul 28
1
[PATCH V4 0/3] Improve virtio-blk performance
Hi, Jens & Rusty
This version is rebased against linux-next which resolves the conflict with
Paolo Bonzini's 'virtio-blk: allow toggling host cache between writeback and
writethrough' patch.
Patch 1/3 and 2/3 applies on linus's master as well. Since Rusty will pick up
patch 3/3 so the changes to block core (adding blk_bio_map_sg()) will have a
user.
Jens, could you please
2007 Jul 03
6
[PATCH 1/3] Virtio draft IV
In response to Avi's excellent analysis, I've updated virtio as promised
(apologies for the delay, travel got in the way).
===
This attempts to implement a "virtual I/O" layer which should allow
common drivers to be efficiently used across most virtual I/O
mechanisms. It will no-doubt need further enhancement.
The details of probing the device are left to hypervisor-specific
2007 Jul 03
6
[PATCH 1/3] Virtio draft IV
In response to Avi's excellent analysis, I've updated virtio as promised
(apologies for the delay, travel got in the way).
===
This attempts to implement a "virtual I/O" layer which should allow
common drivers to be efficiently used across most virtual I/O
mechanisms. It will no-doubt need further enhancement.
The details of probing the device are left to hypervisor-specific
2012 Nov 19
1
[PATCH] vhost-blk: Add vhost-blk support v5
...continue;
+ }
+ set_current_state(TASK_RUNNING);
+
+ if (need_resched())
+ schedule();
+
+ added = false;
+ while (llnode) {
+ req = llist_entry(llnode, struct vhost_blk_req, llnode);
+ llnode = llist_next(llnode);
+
+ vhost_blk_req_umap(req);
+
+ status = req->len > 0 ?
+ VIRTIO_BLK_S_OK : VIRTIO_BLK_S_IOERR;
+ ret = vhost_blk_set_status(req, status);
+ if (unlikely(ret))
+ continue;
+ vhost_add_used(&blk->vq, req->head, req->len);
+ added = true;
+ }
+ if (likely(added))
+ vhost_signal(&blk->dev, &blk->vq);
+ }
+ unuse_mm(blk->dev.mm);...
2012 Nov 19
1
[PATCH] vhost-blk: Add vhost-blk support v5
...continue;
+ }
+ set_current_state(TASK_RUNNING);
+
+ if (need_resched())
+ schedule();
+
+ added = false;
+ while (llnode) {
+ req = llist_entry(llnode, struct vhost_blk_req, llnode);
+ llnode = llist_next(llnode);
+
+ vhost_blk_req_umap(req);
+
+ status = req->len > 0 ?
+ VIRTIO_BLK_S_OK : VIRTIO_BLK_S_IOERR;
+ ret = vhost_blk_set_status(req, status);
+ if (unlikely(ret))
+ continue;
+ vhost_add_used(&blk->vq, req->head, req->len);
+ added = true;
+ }
+ if (likely(added))
+ vhost_signal(&blk->dev, &blk->vq);
+ }
+ unuse_mm(blk->dev.mm);...
2012 Jul 12
2
[PATCH 3/5] vhost: Make vhost a separate module
Currently, vhost-net is the only consumer of vhost infrastructure. So
vhost infrastructure and vhost-net driver are in a single module.
Separating this as a vhost.ko module and a vhost-net.ko module makes it
is easier to share code with other vhost drivers, e.g. vhost-blk.ko,
tcm-vhost.ko.
Signed-off-by: Asias He <asias at redhat.com>
---
drivers/vhost/Kconfig | 10 +++++++++-
2012 Jul 12
2
[PATCH 3/5] vhost: Make vhost a separate module
Currently, vhost-net is the only consumer of vhost infrastructure. So
vhost infrastructure and vhost-net driver are in a single module.
Separating this as a vhost.ko module and a vhost-net.ko module makes it
is easier to share code with other vhost drivers, e.g. vhost-blk.ko,
tcm-vhost.ko.
Signed-off-by: Asias He <asias at redhat.com>
---
drivers/vhost/Kconfig | 10 +++++++++-
2012 Oct 15
2
[PATCH 1/1] vhost-blk: Add vhost-blk support v4
...read_should_stop()))
+ break;
+ continue;
+ }
+
+ if (need_resched())
+ schedule();
+
+ added = false;
+ while (llnode) {
+ req = llist_entry(llnode, struct vhost_blk_req, llnode);
+ llnode = llist_next(llnode);
+
+ vhost_blk_req_umap(req);
+
+ status = req->len > 0 ?
+ VIRTIO_BLK_S_OK : VIRTIO_BLK_S_IOERR;
+ ret = vhost_blk_set_status(req, status);
+ if (unlikely(ret))
+ continue;
+ vhost_add_used(&blk->vq, req->head, req->len);
+ added = true;
+ }
+ if (likely(added))
+ vhost_signal(&blk->dev, &blk->vq);
+ }
+ unuse_mm(blk->dev.mm);...
2012 Oct 15
2
[PATCH 1/1] vhost-blk: Add vhost-blk support v4
...read_should_stop()))
+ break;
+ continue;
+ }
+
+ if (need_resched())
+ schedule();
+
+ added = false;
+ while (llnode) {
+ req = llist_entry(llnode, struct vhost_blk_req, llnode);
+ llnode = llist_next(llnode);
+
+ vhost_blk_req_umap(req);
+
+ status = req->len > 0 ?
+ VIRTIO_BLK_S_OK : VIRTIO_BLK_S_IOERR;
+ ret = vhost_blk_set_status(req, status);
+ if (unlikely(ret))
+ continue;
+ vhost_add_used(&blk->vq, req->head, req->len);
+ added = true;
+ }
+ if (likely(added))
+ vhost_signal(&blk->dev, &blk->vq);
+ }
+ unuse_mm(blk->dev.mm);...
2012 Jun 13
4
[PATCH RFC 0/2] Improve virtio-blk performance
This patchset implements bio-based IO path for virito-blk to improve
performance.
Fio test shows it gives, 28%, 24%, 21%, 16% IOPS boost and 32%, 17%, 21%, 16%
latency improvement for sequential read/write, random read/write respectively.
Asias He (2):
block: Add blk_bio_map_sg() helper
virtio-blk: Add bio-based IO path for virtio-blk
block/blk-merge.c | 63 ++++++++++++++
2012 Jun 13
4
[PATCH RFC 0/2] Improve virtio-blk performance
This patchset implements bio-based IO path for virito-blk to improve
performance.
Fio test shows it gives, 28%, 24%, 21%, 16% IOPS boost and 32%, 17%, 21%, 16%
latency improvement for sequential read/write, random read/write respectively.
Asias He (2):
block: Add blk_bio_map_sg() helper
virtio-blk: Add bio-based IO path for virtio-blk
block/blk-merge.c | 63 ++++++++++++++