diff options
| author | Alexander Viro <viro@math.psu.edu> | 2002-10-31 19:26:08 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-10-31 19:26:08 -0800 |
| commit | e00ab6b6cb2a607db2c58fb5c0658cd36cb78f4f (patch) | |
| tree | f68c2fc29688ab7ee63d4a44cd9bf123910c4b05 | |
| parent | e822d857509fd49fb297a05f37494f7b56e51fb9 (diff) | |
[PATCH] generic uses of ->rq_dev
* uses in ll_rw_blk.c and elevator.c eliminated - ->rq_disk has
everything we need.
| -rw-r--r-- | drivers/block/elevator.c | 4 | ||||
| -rw-r--r-- | drivers/block/ll_rw_blk.c | 15 |
2 files changed, 10 insertions, 9 deletions
diff --git a/drivers/block/elevator.c b/drivers/block/elevator.c index 0b6444379796..ae1bc1eefabe 100644 --- a/drivers/block/elevator.c +++ b/drivers/block/elevator.c @@ -69,7 +69,7 @@ inline int bio_rq_in_between(struct bio *bio, struct request *rq, * if the device is different (not a normal case) just check if * bio is after rq */ - if (!kdev_same(next_rq->rq_dev, rq->rq_dev)) + if (next_rq->rq_disk != rq->rq_disk) return bio->bi_sector > rq->sector; /* @@ -112,7 +112,7 @@ inline int elv_rq_merge_ok(struct request *rq, struct bio *bio) /* * same device and no special stuff set, merge is ok */ - if (kdev_same(rq->rq_dev, to_kdev_t(bio->bi_bdev->bd_dev)) && + if (rq->rq_disk == bio->bi_bdev->bd_disk && !rq->waiting && !rq->special) return 1; diff --git a/drivers/block/ll_rw_blk.c b/drivers/block/ll_rw_blk.c index cbefb7903d5b..670b2f612ffe 100644 --- a/drivers/block/ll_rw_blk.c +++ b/drivers/block/ll_rw_blk.c @@ -584,8 +584,8 @@ int blk_queue_start_tag(request_queue_t *q, struct request *rq) if (unlikely((rq->flags & REQ_QUEUED))) { printk(KERN_ERR - "request %p for device [02%x:02%x] already tagged %d", - rq, major(rq->rq_dev), minor(rq->rq_dev), rq->tag); + "request %p for device [%s] already tagged %d", + rq, rq->rq_disk ? rq->rq_disk->disk_name : "?", rq->tag); BUG(); } @@ -665,7 +665,8 @@ void blk_dump_rq_flags(struct request *rq, char *msg) { int bit; - printk("%s: dev %02x:%02x: flags = ", msg, major(rq->rq_dev), minor(rq->rq_dev)); + printk("%s: dev %s: flags = ", msg, + rq->rq_disk ? rq->rq_disk->disk_name : "?"); bit = 0; do { if (rq->flags & (1 << bit)) @@ -1410,9 +1411,8 @@ void blk_insert_request(request_queue_t *q, struct request *rq, void drive_stat_acct(struct request *rq, int nr_sectors, int new_io) { - unsigned int major = major(rq->rq_dev); int rw = rq_data_dir(rq); - unsigned int index; + unsigned int major, index; if (!rq->rq_disk) return; @@ -1431,6 +1431,7 @@ void drive_stat_acct(struct request *rq, int nr_sectors, int new_io) rq->rq_disk->in_flight++; } + major = rq->rq_disk->major; index = rq->rq_disk->first_minor >> rq->rq_disk->minor_shift; if ((index >= DK_MAX_DISK) || (major >= DK_MAX_MAJOR)) @@ -1586,7 +1587,7 @@ static void attempt_merge(request_queue_t *q, struct request *req, return; if (rq_data_dir(req) != rq_data_dir(next) - || !kdev_same(req->rq_dev, next->rq_dev) + || req->rq_disk != next->rq_disk || next->waiting || next->special) return; @@ -2018,7 +2019,7 @@ static int __end_that_request_first(struct request *req, int uptodate, error = -EIO; if (!(req->flags & REQ_QUIET)) printk("end_request: I/O error, dev %s, sector %llu\n", - kdevname(req->rq_dev), + req->rq_disk ? req->rq_disk->disk_name : "?", (unsigned long long)req->sector); } |
