diff options
Diffstat (limited to 'drivers/s390/block/dasd_fba.c')
-rw-r--r-- | drivers/s390/block/dasd_fba.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/drivers/s390/block/dasd_fba.c b/drivers/s390/block/dasd_fba.c index 9cbc8c32ba59..2c8e68bf9a1c 100644 --- a/drivers/s390/block/dasd_fba.c +++ b/drivers/s390/block/dasd_fba.c | |||
@@ -260,7 +260,7 @@ static struct dasd_ccw_req *dasd_fba_build_cp(struct dasd_device * memdev, | |||
260 | struct dasd_ccw_req *cqr; | 260 | struct dasd_ccw_req *cqr; |
261 | struct ccw1 *ccw; | 261 | struct ccw1 *ccw; |
262 | struct req_iterator iter; | 262 | struct req_iterator iter; |
263 | struct bio_vec *bv; | 263 | struct bio_vec bv; |
264 | char *dst; | 264 | char *dst; |
265 | int count, cidaw, cplength, datasize; | 265 | int count, cidaw, cplength, datasize; |
266 | sector_t recid, first_rec, last_rec; | 266 | sector_t recid, first_rec, last_rec; |
@@ -283,13 +283,13 @@ static struct dasd_ccw_req *dasd_fba_build_cp(struct dasd_device * memdev, | |||
283 | count = 0; | 283 | count = 0; |
284 | cidaw = 0; | 284 | cidaw = 0; |
285 | rq_for_each_segment(bv, req, iter) { | 285 | rq_for_each_segment(bv, req, iter) { |
286 | if (bv->bv_len & (blksize - 1)) | 286 | if (bv.bv_len & (blksize - 1)) |
287 | /* Fba can only do full blocks. */ | 287 | /* Fba can only do full blocks. */ |
288 | return ERR_PTR(-EINVAL); | 288 | return ERR_PTR(-EINVAL); |
289 | count += bv->bv_len >> (block->s2b_shift + 9); | 289 | count += bv.bv_len >> (block->s2b_shift + 9); |
290 | #if defined(CONFIG_64BIT) | 290 | #if defined(CONFIG_64BIT) |
291 | if (idal_is_needed (page_address(bv->bv_page), bv->bv_len)) | 291 | if (idal_is_needed (page_address(bv.bv_page), bv.bv_len)) |
292 | cidaw += bv->bv_len / blksize; | 292 | cidaw += bv.bv_len / blksize; |
293 | #endif | 293 | #endif |
294 | } | 294 | } |
295 | /* Paranoia. */ | 295 | /* Paranoia. */ |
@@ -326,16 +326,16 @@ static struct dasd_ccw_req *dasd_fba_build_cp(struct dasd_device * memdev, | |||
326 | } | 326 | } |
327 | recid = first_rec; | 327 | recid = first_rec; |
328 | rq_for_each_segment(bv, req, iter) { | 328 | rq_for_each_segment(bv, req, iter) { |
329 | dst = page_address(bv->bv_page) + bv->bv_offset; | 329 | dst = page_address(bv.bv_page) + bv.bv_offset; |
330 | if (dasd_page_cache) { | 330 | if (dasd_page_cache) { |
331 | char *copy = kmem_cache_alloc(dasd_page_cache, | 331 | char *copy = kmem_cache_alloc(dasd_page_cache, |
332 | GFP_DMA | __GFP_NOWARN); | 332 | GFP_DMA | __GFP_NOWARN); |
333 | if (copy && rq_data_dir(req) == WRITE) | 333 | if (copy && rq_data_dir(req) == WRITE) |
334 | memcpy(copy + bv->bv_offset, dst, bv->bv_len); | 334 | memcpy(copy + bv.bv_offset, dst, bv.bv_len); |
335 | if (copy) | 335 | if (copy) |
336 | dst = copy + bv->bv_offset; | 336 | dst = copy + bv.bv_offset; |
337 | } | 337 | } |
338 | for (off = 0; off < bv->bv_len; off += blksize) { | 338 | for (off = 0; off < bv.bv_len; off += blksize) { |
339 | /* Locate record for stupid devices. */ | 339 | /* Locate record for stupid devices. */ |
340 | if (private->rdc_data.mode.bits.data_chain == 0) { | 340 | if (private->rdc_data.mode.bits.data_chain == 0) { |
341 | ccw[-1].flags |= CCW_FLAG_CC; | 341 | ccw[-1].flags |= CCW_FLAG_CC; |
@@ -384,7 +384,7 @@ dasd_fba_free_cp(struct dasd_ccw_req *cqr, struct request *req) | |||
384 | struct dasd_fba_private *private; | 384 | struct dasd_fba_private *private; |
385 | struct ccw1 *ccw; | 385 | struct ccw1 *ccw; |
386 | struct req_iterator iter; | 386 | struct req_iterator iter; |
387 | struct bio_vec *bv; | 387 | struct bio_vec bv; |
388 | char *dst, *cda; | 388 | char *dst, *cda; |
389 | unsigned int blksize, off; | 389 | unsigned int blksize, off; |
390 | int status; | 390 | int status; |
@@ -399,8 +399,8 @@ dasd_fba_free_cp(struct dasd_ccw_req *cqr, struct request *req) | |||
399 | if (private->rdc_data.mode.bits.data_chain != 0) | 399 | if (private->rdc_data.mode.bits.data_chain != 0) |
400 | ccw++; | 400 | ccw++; |
401 | rq_for_each_segment(bv, req, iter) { | 401 | rq_for_each_segment(bv, req, iter) { |
402 | dst = page_address(bv->bv_page) + bv->bv_offset; | 402 | dst = page_address(bv.bv_page) + bv.bv_offset; |
403 | for (off = 0; off < bv->bv_len; off += blksize) { | 403 | for (off = 0; off < bv.bv_len; off += blksize) { |
404 | /* Skip locate record. */ | 404 | /* Skip locate record. */ |
405 | if (private->rdc_data.mode.bits.data_chain == 0) | 405 | if (private->rdc_data.mode.bits.data_chain == 0) |
406 | ccw++; | 406 | ccw++; |
@@ -411,7 +411,7 @@ dasd_fba_free_cp(struct dasd_ccw_req *cqr, struct request *req) | |||
411 | cda = (char *)((addr_t) ccw->cda); | 411 | cda = (char *)((addr_t) ccw->cda); |
412 | if (dst != cda) { | 412 | if (dst != cda) { |
413 | if (rq_data_dir(req) == READ) | 413 | if (rq_data_dir(req) == READ) |
414 | memcpy(dst, cda, bv->bv_len); | 414 | memcpy(dst, cda, bv.bv_len); |
415 | kmem_cache_free(dasd_page_cache, | 415 | kmem_cache_free(dasd_page_cache, |
416 | (void *)((addr_t)cda & PAGE_MASK)); | 416 | (void *)((addr_t)cda & PAGE_MASK)); |
417 | } | 417 | } |