diff options
author | Christoph Hellwig <hch@infradead.org> | 2011-09-12 06:08:27 -0400 |
---|---|---|
committer | Jens Axboe <jaxboe@fusionio.com> | 2011-09-12 06:08:27 -0400 |
commit | 166e1f901b01872e8b70733a3f2e2c6980389cf8 (patch) | |
tree | bb0a52bfe76e60bb430cd6a5f91ceb9b6ecaa7b2 /drivers/md | |
parent | 484fc254b88257a2d8b3759aa062e8e8b35e0988 (diff) |
block: export __make_request
Avoid the hacks need for request based device mappers currently by simply
exporting the symbol instead of trying to get it through the back door.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'drivers/md')
-rw-r--r-- | drivers/md/dm.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c index 52b39f335bb3..d8d7b8d9dd28 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c | |||
@@ -180,9 +180,6 @@ struct mapped_device { | |||
180 | /* forced geometry settings */ | 180 | /* forced geometry settings */ |
181 | struct hd_geometry geometry; | 181 | struct hd_geometry geometry; |
182 | 182 | ||
183 | /* For saving the address of __make_request for request based dm */ | ||
184 | make_request_fn *saved_make_request_fn; | ||
185 | |||
186 | /* sysfs handle */ | 183 | /* sysfs handle */ |
187 | struct kobject kobj; | 184 | struct kobject kobj; |
188 | 185 | ||
@@ -1420,13 +1417,6 @@ static int _dm_request(struct request_queue *q, struct bio *bio) | |||
1420 | return 0; | 1417 | return 0; |
1421 | } | 1418 | } |
1422 | 1419 | ||
1423 | static int dm_make_request(struct request_queue *q, struct bio *bio) | ||
1424 | { | ||
1425 | struct mapped_device *md = q->queuedata; | ||
1426 | |||
1427 | return md->saved_make_request_fn(q, bio); /* call __make_request() */ | ||
1428 | } | ||
1429 | |||
1430 | static int dm_request_based(struct mapped_device *md) | 1420 | static int dm_request_based(struct mapped_device *md) |
1431 | { | 1421 | { |
1432 | return blk_queue_stackable(md->queue); | 1422 | return blk_queue_stackable(md->queue); |
@@ -1437,7 +1427,7 @@ static int dm_request(struct request_queue *q, struct bio *bio) | |||
1437 | struct mapped_device *md = q->queuedata; | 1427 | struct mapped_device *md = q->queuedata; |
1438 | 1428 | ||
1439 | if (dm_request_based(md)) | 1429 | if (dm_request_based(md)) |
1440 | return dm_make_request(q, bio); | 1430 | return __make_request(q, bio); |
1441 | 1431 | ||
1442 | return _dm_request(q, bio); | 1432 | return _dm_request(q, bio); |
1443 | } | 1433 | } |
@@ -2172,7 +2162,6 @@ static int dm_init_request_based_queue(struct mapped_device *md) | |||
2172 | return 0; | 2162 | return 0; |
2173 | 2163 | ||
2174 | md->queue = q; | 2164 | md->queue = q; |
2175 | md->saved_make_request_fn = md->queue->make_request_fn; | ||
2176 | dm_init_md_queue(md); | 2165 | dm_init_md_queue(md); |
2177 | blk_queue_softirq_done(md->queue, dm_softirq_done); | 2166 | blk_queue_softirq_done(md->queue, dm_softirq_done); |
2178 | blk_queue_prep_rq(md->queue, dm_prep_fn); | 2167 | blk_queue_prep_rq(md->queue, dm_prep_fn); |