diff options
author | Mike Christie <mchristi@redhat.com> | 2016-06-05 15:31:41 -0400 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2016-06-07 15:41:38 -0400 |
commit | 4e49ea4a3d276365bf7396c9b77b4d1d5923835a (patch) | |
tree | a49531413109137c3a6e40f02db7eb7969b2b672 /block/blk-lib.c | |
parent | af8c34ce6ae32addda3788d54a7e340cad22516b (diff) |
block/fs/drivers: remove rw argument from submit_bio
This has callers of submit_bio/submit_bio_wait set the bio->bi_rw
instead of passing it in. This makes that use the same as
generic_make_request and how we set the other bio fields.
Signed-off-by: Mike Christie <mchristi@redhat.com>
Fixed up fs/ext4/crypto.c
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'block/blk-lib.c')
-rw-r--r-- | block/blk-lib.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/block/blk-lib.c b/block/blk-lib.c index 23d7f301a196..1f6dec5e0975 100644 --- a/block/blk-lib.c +++ b/block/blk-lib.c | |||
@@ -9,14 +9,14 @@ | |||
9 | 9 | ||
10 | #include "blk.h" | 10 | #include "blk.h" |
11 | 11 | ||
12 | static struct bio *next_bio(struct bio *bio, int rw, unsigned int nr_pages, | 12 | static struct bio *next_bio(struct bio *bio, unsigned int nr_pages, |
13 | gfp_t gfp) | 13 | gfp_t gfp) |
14 | { | 14 | { |
15 | struct bio *new = bio_alloc(gfp, nr_pages); | 15 | struct bio *new = bio_alloc(gfp, nr_pages); |
16 | 16 | ||
17 | if (bio) { | 17 | if (bio) { |
18 | bio_chain(bio, new); | 18 | bio_chain(bio, new); |
19 | submit_bio(rw, bio); | 19 | submit_bio(bio); |
20 | } | 20 | } |
21 | 21 | ||
22 | return new; | 22 | return new; |
@@ -62,9 +62,10 @@ int __blkdev_issue_discard(struct block_device *bdev, sector_t sector, | |||
62 | req_sects = end_sect - sector; | 62 | req_sects = end_sect - sector; |
63 | } | 63 | } |
64 | 64 | ||
65 | bio = next_bio(bio, type, 1, gfp_mask); | 65 | bio = next_bio(bio, 1, gfp_mask); |
66 | bio->bi_iter.bi_sector = sector; | 66 | bio->bi_iter.bi_sector = sector; |
67 | bio->bi_bdev = bdev; | 67 | bio->bi_bdev = bdev; |
68 | bio->bi_rw = type; | ||
68 | 69 | ||
69 | bio->bi_iter.bi_size = req_sects << 9; | 70 | bio->bi_iter.bi_size = req_sects << 9; |
70 | nr_sects -= req_sects; | 71 | nr_sects -= req_sects; |
@@ -110,7 +111,7 @@ int blkdev_issue_discard(struct block_device *bdev, sector_t sector, | |||
110 | ret = __blkdev_issue_discard(bdev, sector, nr_sects, gfp_mask, type, | 111 | ret = __blkdev_issue_discard(bdev, sector, nr_sects, gfp_mask, type, |
111 | &bio); | 112 | &bio); |
112 | if (!ret && bio) { | 113 | if (!ret && bio) { |
113 | ret = submit_bio_wait(type, bio); | 114 | ret = submit_bio_wait(bio); |
114 | if (ret == -EOPNOTSUPP) | 115 | if (ret == -EOPNOTSUPP) |
115 | ret = 0; | 116 | ret = 0; |
116 | } | 117 | } |
@@ -147,13 +148,14 @@ int blkdev_issue_write_same(struct block_device *bdev, sector_t sector, | |||
147 | max_write_same_sectors = UINT_MAX >> 9; | 148 | max_write_same_sectors = UINT_MAX >> 9; |
148 | 149 | ||
149 | while (nr_sects) { | 150 | while (nr_sects) { |
150 | bio = next_bio(bio, REQ_WRITE | REQ_WRITE_SAME, 1, gfp_mask); | 151 | bio = next_bio(bio, 1, gfp_mask); |
151 | bio->bi_iter.bi_sector = sector; | 152 | bio->bi_iter.bi_sector = sector; |
152 | bio->bi_bdev = bdev; | 153 | bio->bi_bdev = bdev; |
153 | bio->bi_vcnt = 1; | 154 | bio->bi_vcnt = 1; |
154 | bio->bi_io_vec->bv_page = page; | 155 | bio->bi_io_vec->bv_page = page; |
155 | bio->bi_io_vec->bv_offset = 0; | 156 | bio->bi_io_vec->bv_offset = 0; |
156 | bio->bi_io_vec->bv_len = bdev_logical_block_size(bdev); | 157 | bio->bi_io_vec->bv_len = bdev_logical_block_size(bdev); |
158 | bio->bi_rw = REQ_WRITE | REQ_WRITE_SAME; | ||
157 | 159 | ||
158 | if (nr_sects > max_write_same_sectors) { | 160 | if (nr_sects > max_write_same_sectors) { |
159 | bio->bi_iter.bi_size = max_write_same_sectors << 9; | 161 | bio->bi_iter.bi_size = max_write_same_sectors << 9; |
@@ -166,7 +168,7 @@ int blkdev_issue_write_same(struct block_device *bdev, sector_t sector, | |||
166 | } | 168 | } |
167 | 169 | ||
168 | if (bio) | 170 | if (bio) |
169 | ret = submit_bio_wait(REQ_WRITE | REQ_WRITE_SAME, bio); | 171 | ret = submit_bio_wait(bio); |
170 | return ret != -EOPNOTSUPP ? ret : 0; | 172 | return ret != -EOPNOTSUPP ? ret : 0; |
171 | } | 173 | } |
172 | EXPORT_SYMBOL(blkdev_issue_write_same); | 174 | EXPORT_SYMBOL(blkdev_issue_write_same); |
@@ -190,11 +192,11 @@ static int __blkdev_issue_zeroout(struct block_device *bdev, sector_t sector, | |||
190 | unsigned int sz; | 192 | unsigned int sz; |
191 | 193 | ||
192 | while (nr_sects != 0) { | 194 | while (nr_sects != 0) { |
193 | bio = next_bio(bio, WRITE, | 195 | bio = next_bio(bio, min(nr_sects, (sector_t)BIO_MAX_PAGES), |
194 | min(nr_sects, (sector_t)BIO_MAX_PAGES), | ||
195 | gfp_mask); | 196 | gfp_mask); |
196 | bio->bi_iter.bi_sector = sector; | 197 | bio->bi_iter.bi_sector = sector; |
197 | bio->bi_bdev = bdev; | 198 | bio->bi_bdev = bdev; |
199 | bio->bi_rw = REQ_WRITE; | ||
198 | 200 | ||
199 | while (nr_sects != 0) { | 201 | while (nr_sects != 0) { |
200 | sz = min((sector_t) PAGE_SIZE >> 9 , nr_sects); | 202 | sz = min((sector_t) PAGE_SIZE >> 9 , nr_sects); |
@@ -207,7 +209,7 @@ static int __blkdev_issue_zeroout(struct block_device *bdev, sector_t sector, | |||
207 | } | 209 | } |
208 | 210 | ||
209 | if (bio) | 211 | if (bio) |
210 | return submit_bio_wait(WRITE, bio); | 212 | return submit_bio_wait(bio); |
211 | return 0; | 213 | return 0; |
212 | } | 214 | } |
213 | 215 | ||