]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
9p/trans_virtio: don't bother with p9_tag_lookup()
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 13 Jul 2015 01:06:44 +0000 (21:06 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 7 Dec 2015 02:17:11 +0000 (21:17 -0500)
Just store the pointer to req instead of that to req->tc as opaque
data.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
net/9p/trans_virtio.c

index 6e70ddb158b4bc121a0f32e7a53fecf8125e8354..9fc6a56c506aaa4ea7373dc37a8a9f899387a965 100644 (file)
@@ -143,7 +143,6 @@ static void p9_virtio_close(struct p9_client *client)
 static void req_done(struct virtqueue *vq)
 {
        struct virtio_chan *chan = vq->vdev->priv;
-       struct p9_fcall *rc;
        unsigned int len;
        struct p9_req_t *req;
        unsigned long flags;
@@ -152,8 +151,8 @@ static void req_done(struct virtqueue *vq)
 
        while (1) {
                spin_lock_irqsave(&chan->lock, flags);
-               rc = virtqueue_get_buf(chan->vq, &len);
-               if (rc == NULL) {
+               req = virtqueue_get_buf(chan->vq, &len);
+               if (req == NULL) {
                        spin_unlock_irqrestore(&chan->lock, flags);
                        break;
                }
@@ -161,9 +160,6 @@ static void req_done(struct virtqueue *vq)
                spin_unlock_irqrestore(&chan->lock, flags);
                /* Wakeup if anyone waiting for VirtIO ring space. */
                wake_up(chan->vc_wq);
-               p9_debug(P9_DEBUG_TRANS, ": rc %p\n", rc);
-               p9_debug(P9_DEBUG_TRANS, ": lookup tag %d\n", rc->tag);
-               req = p9_tag_lookup(chan->client, rc->tag);
                p9_client_cb(chan->client, req, REQ_STATUS_RCVD);
        }
 }
@@ -284,7 +280,7 @@ req_retry:
        if (in)
                sgs[out_sgs + in_sgs++] = chan->sg + out;
 
-       err = virtqueue_add_sgs(chan->vq, sgs, out_sgs, in_sgs, req->tc,
+       err = virtqueue_add_sgs(chan->vq, sgs, out_sgs, in_sgs, req,
                                GFP_ATOMIC);
        if (err < 0) {
                if (err == -ENOSPC) {
@@ -469,7 +465,7 @@ req_retry_pinned:
        }
 
        BUG_ON(out_sgs + in_sgs > ARRAY_SIZE(sgs));
-       err = virtqueue_add_sgs(chan->vq, sgs, out_sgs, in_sgs, req->tc,
+       err = virtqueue_add_sgs(chan->vq, sgs, out_sgs, in_sgs, req,
                                GFP_ATOMIC);
        if (err < 0) {
                if (err == -ENOSPC) {