| .. | .. |
|---|
| 182 | 182 | /* |
|---|
| 183 | 183 | * Block device make request function. |
|---|
| 184 | 184 | */ |
|---|
| 185 | | -static blk_qc_t xpram_make_request(struct request_queue *q, struct bio *bio) |
|---|
| 185 | +static blk_qc_t xpram_submit_bio(struct bio *bio) |
|---|
| 186 | 186 | { |
|---|
| 187 | 187 | xpram_device_t *xdev = bio->bi_disk->private_data; |
|---|
| 188 | 188 | struct bio_vec bvec; |
|---|
| .. | .. |
|---|
| 191 | 191 | unsigned long page_addr; |
|---|
| 192 | 192 | unsigned long bytes; |
|---|
| 193 | 193 | |
|---|
| 194 | | - blk_queue_split(q, &bio); |
|---|
| 194 | + blk_queue_split(&bio); |
|---|
| 195 | 195 | |
|---|
| 196 | 196 | if ((bio->bi_iter.bi_sector & 7) != 0 || |
|---|
| 197 | 197 | (bio->bi_iter.bi_size & 4095) != 0) |
|---|
| .. | .. |
|---|
| 250 | 250 | static const struct block_device_operations xpram_devops = |
|---|
| 251 | 251 | { |
|---|
| 252 | 252 | .owner = THIS_MODULE, |
|---|
| 253 | + .submit_bio = xpram_submit_bio, |
|---|
| 253 | 254 | .getgeo = xpram_getgeo, |
|---|
| 254 | 255 | }; |
|---|
| 255 | 256 | |
|---|
| .. | .. |
|---|
| 343 | 344 | xpram_disks[i] = alloc_disk(1); |
|---|
| 344 | 345 | if (!xpram_disks[i]) |
|---|
| 345 | 346 | goto out; |
|---|
| 346 | | - xpram_queues[i] = blk_alloc_queue(GFP_KERNEL); |
|---|
| 347 | + xpram_queues[i] = blk_alloc_queue(NUMA_NO_NODE); |
|---|
| 347 | 348 | if (!xpram_queues[i]) { |
|---|
| 348 | 349 | put_disk(xpram_disks[i]); |
|---|
| 349 | 350 | goto out; |
|---|
| 350 | 351 | } |
|---|
| 351 | 352 | blk_queue_flag_set(QUEUE_FLAG_NONROT, xpram_queues[i]); |
|---|
| 352 | 353 | blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, xpram_queues[i]); |
|---|
| 353 | | - blk_queue_make_request(xpram_queues[i], xpram_make_request); |
|---|
| 354 | 354 | blk_queue_logical_block_size(xpram_queues[i], 4096); |
|---|
| 355 | 355 | } |
|---|
| 356 | 356 | |
|---|