WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH 4/5] blktap: Forward port to 2.6.32

To: Xen <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH 4/5] blktap: Forward port to 2.6.32
From: Daniel Stodden <daniel.stodden@xxxxxxxxxx>
Date: Fri, 12 Nov 2010 15:31:46 -0800
Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx>, Daniel Stodden <daniel.stodden@xxxxxxxxxx>
Delivery-date: Fri, 12 Nov 2010 15:35:28 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1289604707-13378-1-git-send-email-daniel.stodden@xxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <1289604707-13378-1-git-send-email-daniel.stodden@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Some dust off the topic branch.

Signed-off-by: Daniel Stodden <daniel.stodden@xxxxxxxxxx>
---
 drivers/xen/blktap/device.c |   22 +++++++++-------------
 drivers/xen/blktap/ring.c   |    2 +-
 2 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/drivers/xen/blktap/device.c b/drivers/xen/blktap/device.c
index 4c4d682..c94a0e9 100644
--- a/drivers/xen/blktap/device.c
+++ b/drivers/xen/blktap/device.c
@@ -108,13 +108,13 @@ static struct block_device_operations 
blktap_device_file_operations = {
 static inline struct request*
 __blktap_next_queued_rq(struct request_queue *q)
 {
-       return elv_next_request(q);
+       return blk_peek_request(q);
 }
 
 static inline void
 __blktap_dequeue_rq(struct request *rq)
 {
-       blkdev_dequeue_request(rq);
+       blk_start_request(rq);
 }
 
 /* NB. err == 0 indicates success, failures < 0 */
@@ -122,6 +122,7 @@ __blktap_dequeue_rq(struct request *rq)
 static inline void
 __blktap_end_queued_rq(struct request *rq, int err)
 {
+       blk_start_request(rq);
        __blk_end_request(rq, err, blk_rq_bytes(rq));
 }
 
@@ -151,7 +152,7 @@ blktap_device_end_request(struct blktap *tap,
 
        blktap_ring_free_request(tap, request);
 
-       dev_dbg(&tapdev->gd->dev,
+       dev_dbg(disk_to_dev(tapdev->gd),
                "end_request: op=%d error=%d bytes=%d\n",
                rq_data_dir(rq), error, blk_rq_bytes(rq));
 
@@ -180,7 +181,7 @@ blktap_device_make_request(struct blktap *tap, struct 
request *rq)
        write = rq_data_dir(rq) == WRITE;
        nsegs = blk_rq_map_sg(rq->q, rq, request->sg_table);
 
-       dev_dbg(&tapdev->gd->dev,
+       dev_dbg(disk_to_dev(tapdev->gd),
                "make_request: op=%c bytes=%d nsegs=%d\n",
                write ? 'w' : 'r', blk_rq_bytes(rq), nsegs);
 
@@ -210,7 +211,7 @@ _out:
        return err;
 fail:
        if (printk_ratelimit())
-               dev_warn(&tapdev->gd->dev,
+               dev_warn(disk_to_dev(tapdev->gd),
                         "make request: %d, failing\n", err);
        goto _out;
 }
@@ -244,11 +245,6 @@ blktap_device_run_queue(struct blktap *tap)
                        continue;
                }
 
-               if (blk_empty_barrier(rq)) {
-                       __blktap_end_queued_rq(rq, 0);
-                       continue;
-               }
-
                spin_unlock_irq(&tapdev->lock);
 
                err = blktap_device_make_request(tap, rq);
@@ -491,8 +487,8 @@ blktap_device_create(struct blktap *tap, struct 
blktap_params *params)
 
        set_bit(BLKTAP_DEVICE, &tap->dev_inuse);
 
-       dev_info(&gd->dev, "sector-size: %u capacity: %llu\n",
-                rq->hardsect_size, get_capacity(gd));
+       dev_info(disk_to_dev(gd), "sector-size: %u capacity: %llu\n",
+                queue_logical_block_size(rq), get_capacity(gd));
 
        return 0;
 
@@ -520,7 +516,7 @@ blktap_device_debug(struct blktap *tap, char *buf, size_t 
size)
 
        s += snprintf(s, end - s,
                      "disk capacity:%llu sector size:%u\n",
-                     get_capacity(disk), queue_hardsect_size(q));
+                     get_capacity(disk), queue_logical_block_size(q));
 
        s += snprintf(s, end - s,
                      "queue flags:%#lx plugged:%d stopped:%d empty:%d\n",
diff --git a/drivers/xen/blktap/ring.c b/drivers/xen/blktap/ring.c
index 38896e7..6b86be5 100644
--- a/drivers/xen/blktap/ring.c
+++ b/drivers/xen/blktap/ring.c
@@ -247,7 +247,7 @@ blktap_ring_submit_request(struct blktap *tap,
        breq = RING_GET_REQUEST(&ring->ring, ring->ring.req_prod_pvt);
 
        breq->id            = request->usr_idx;
-       breq->sector_number = request->rq->sector;
+       breq->sector_number = blk_rq_pos(request->rq);
        breq->handle        = 0;
        breq->operation     = request->operation;
        breq->nr_segments   = request->nr_pages;
-- 
1.7.0.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel