Commit bf5fb875 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe

dasd: use bvec_virt

Use bvec_virt instead of open coding it.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarStefan Haberland <sth@linux.ibm.com>
Link: https://lore.kernel.org/r/20210804095634.460779-14-hch@lst.deSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 6da525b3
...@@ -552,7 +552,7 @@ static struct dasd_ccw_req *dasd_diag_build_cp(struct dasd_device *memdev, ...@@ -552,7 +552,7 @@ static struct dasd_ccw_req *dasd_diag_build_cp(struct dasd_device *memdev,
dbio = dreq->bio; dbio = dreq->bio;
recid = first_rec; recid = first_rec;
rq_for_each_segment(bv, req, iter) { rq_for_each_segment(bv, req, iter) {
dst = page_address(bv.bv_page) + bv.bv_offset; dst = bvec_virt(&bv);
for (off = 0; off < bv.bv_len; off += blksize) { for (off = 0; off < bv.bv_len; off += blksize) {
memset(dbio, 0, sizeof (struct dasd_diag_bio)); memset(dbio, 0, sizeof (struct dasd_diag_bio));
dbio->type = rw_cmd; dbio->type = rw_cmd;
......
...@@ -3267,7 +3267,7 @@ static int dasd_eckd_ese_read(struct dasd_ccw_req *cqr, struct irb *irb) ...@@ -3267,7 +3267,7 @@ static int dasd_eckd_ese_read(struct dasd_ccw_req *cqr, struct irb *irb)
end_blk = (curr_trk + 1) * recs_per_trk; end_blk = (curr_trk + 1) * recs_per_trk;
rq_for_each_segment(bv, req, iter) { rq_for_each_segment(bv, req, iter) {
dst = page_address(bv.bv_page) + bv.bv_offset; dst = bvec_virt(&bv);
for (off = 0; off < bv.bv_len; off += blksize) { for (off = 0; off < bv.bv_len; off += blksize) {
if (first_blk + blk_count >= end_blk) { if (first_blk + blk_count >= end_blk) {
cqr->proc_bytes = blk_count * blksize; cqr->proc_bytes = blk_count * blksize;
...@@ -3999,7 +3999,7 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_cmd_single( ...@@ -3999,7 +3999,7 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_cmd_single(
last_rec - recid + 1, cmd, basedev, blksize); last_rec - recid + 1, cmd, basedev, blksize);
} }
rq_for_each_segment(bv, req, iter) { rq_for_each_segment(bv, req, iter) {
dst = page_address(bv.bv_page) + bv.bv_offset; dst = bvec_virt(&bv);
if (dasd_page_cache) { if (dasd_page_cache) {
char *copy = kmem_cache_alloc(dasd_page_cache, char *copy = kmem_cache_alloc(dasd_page_cache,
GFP_DMA | __GFP_NOWARN); GFP_DMA | __GFP_NOWARN);
...@@ -4166,7 +4166,7 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_cmd_track( ...@@ -4166,7 +4166,7 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_cmd_track(
idaw_dst = NULL; idaw_dst = NULL;
idaw_len = 0; idaw_len = 0;
rq_for_each_segment(bv, req, iter) { rq_for_each_segment(bv, req, iter) {
dst = page_address(bv.bv_page) + bv.bv_offset; dst = bvec_virt(&bv);
seg_len = bv.bv_len; seg_len = bv.bv_len;
while (seg_len) { while (seg_len) {
if (new_track) { if (new_track) {
...@@ -4509,7 +4509,7 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_tpm_track( ...@@ -4509,7 +4509,7 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_tpm_track(
new_track = 1; new_track = 1;
recid = first_rec; recid = first_rec;
rq_for_each_segment(bv, req, iter) { rq_for_each_segment(bv, req, iter) {
dst = page_address(bv.bv_page) + bv.bv_offset; dst = bvec_virt(&bv);
seg_len = bv.bv_len; seg_len = bv.bv_len;
while (seg_len) { while (seg_len) {
if (new_track) { if (new_track) {
...@@ -4542,7 +4542,7 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_tpm_track( ...@@ -4542,7 +4542,7 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_tpm_track(
} }
} else { } else {
rq_for_each_segment(bv, req, iter) { rq_for_each_segment(bv, req, iter) {
dst = page_address(bv.bv_page) + bv.bv_offset; dst = bvec_virt(&bv);
last_tidaw = itcw_add_tidaw(itcw, 0x00, last_tidaw = itcw_add_tidaw(itcw, 0x00,
dst, bv.bv_len); dst, bv.bv_len);
if (IS_ERR(last_tidaw)) { if (IS_ERR(last_tidaw)) {
...@@ -4778,7 +4778,7 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_raw(struct dasd_device *startdev, ...@@ -4778,7 +4778,7 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_raw(struct dasd_device *startdev,
idaws = idal_create_words(idaws, rawpadpage, PAGE_SIZE); idaws = idal_create_words(idaws, rawpadpage, PAGE_SIZE);
} }
rq_for_each_segment(bv, req, iter) { rq_for_each_segment(bv, req, iter) {
dst = page_address(bv.bv_page) + bv.bv_offset; dst = bvec_virt(&bv);
seg_len = bv.bv_len; seg_len = bv.bv_len;
if (cmd == DASD_ECKD_CCW_READ_TRACK) if (cmd == DASD_ECKD_CCW_READ_TRACK)
memset(dst, 0, seg_len); memset(dst, 0, seg_len);
...@@ -4839,7 +4839,7 @@ dasd_eckd_free_cp(struct dasd_ccw_req *cqr, struct request *req) ...@@ -4839,7 +4839,7 @@ dasd_eckd_free_cp(struct dasd_ccw_req *cqr, struct request *req)
if (private->uses_cdl == 0 || recid > 2*blk_per_trk) if (private->uses_cdl == 0 || recid > 2*blk_per_trk)
ccw++; ccw++;
rq_for_each_segment(bv, req, iter) { rq_for_each_segment(bv, req, iter) {
dst = page_address(bv.bv_page) + bv.bv_offset; dst = bvec_virt(&bv);
for (off = 0; off < bv.bv_len; off += blksize) { for (off = 0; off < bv.bv_len; off += blksize) {
/* Skip locate record. */ /* Skip locate record. */
if (private->uses_cdl && recid <= 2*blk_per_trk) if (private->uses_cdl && recid <= 2*blk_per_trk)
......
...@@ -501,7 +501,7 @@ static struct dasd_ccw_req *dasd_fba_build_cp_regular( ...@@ -501,7 +501,7 @@ static struct dasd_ccw_req *dasd_fba_build_cp_regular(
} }
recid = first_rec; recid = first_rec;
rq_for_each_segment(bv, req, iter) { rq_for_each_segment(bv, req, iter) {
dst = page_address(bv.bv_page) + bv.bv_offset; dst = bvec_virt(&bv);
if (dasd_page_cache) { if (dasd_page_cache) {
char *copy = kmem_cache_alloc(dasd_page_cache, char *copy = kmem_cache_alloc(dasd_page_cache,
GFP_DMA | __GFP_NOWARN); GFP_DMA | __GFP_NOWARN);
...@@ -583,7 +583,7 @@ dasd_fba_free_cp(struct dasd_ccw_req *cqr, struct request *req) ...@@ -583,7 +583,7 @@ dasd_fba_free_cp(struct dasd_ccw_req *cqr, struct request *req)
if (private->rdc_data.mode.bits.data_chain != 0) if (private->rdc_data.mode.bits.data_chain != 0)
ccw++; ccw++;
rq_for_each_segment(bv, req, iter) { rq_for_each_segment(bv, req, iter) {
dst = page_address(bv.bv_page) + bv.bv_offset; dst = bvec_virt(&bv);
for (off = 0; off < bv.bv_len; off += blksize) { for (off = 0; off < bv.bv_len; off += blksize) {
/* Skip locate record. */ /* Skip locate record. */
if (private->rdc_data.mode.bits.data_chain == 0) if (private->rdc_data.mode.bits.data_chain == 0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment