Messages in this thread | | | Date | Thu, 22 Dec 2011 12:20:01 +0000 | Subject | Re: [PATCH 4/6] virtio-blk: implement ->make_request | From | Stefan Hajnoczi <> |
| |
On Wed, Dec 21, 2011 at 1:00 AM, Minchan Kim <minchan@kernel.org> wrote: > +static void virtblk_add_buf_wait(struct virtio_blk *vblk, > + struct virtblk_req *vbr, unsigned long out, unsigned long in) > +{ > + DEFINE_WAIT(wait); > + bool retry, notify; > + > + for (;;) { > + prepare_to_wait(&vblk->queue_wait, &wait, > + TASK_UNINTERRUPTIBLE); > + > + spin_lock_irq(&vblk->lock); > + if (virtqueue_add_buf(vblk->vq, vbr->sg, > + out, in, vbr) < 0) { > + retry = true; > + } else { > + retry = false; > + } > + notify = virtqueue_kick_prepare(vblk->vq); > + spin_unlock_irq(&vblk->lock); > + > + if (notify)
virtblk_make_request() checks that the queue is not plugged. Do we need to do that here too? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |