forked from Minki/linux
ps3disk: use memcpy_{from,to}_bvec
Use the bvec helpers instead of open coding the copy. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> Tested-by: Geoff Levand <geoff@infradead.org> Link: https://lore.kernel.org/r/20210727055646.118787-9-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
18a6234ccf
commit
6e0a48552b
@ -83,26 +83,12 @@ static void ps3disk_scatter_gather(struct ps3_storage_device *dev,
|
||||
unsigned int offset = 0;
|
||||
struct req_iterator iter;
|
||||
struct bio_vec bvec;
|
||||
unsigned int i = 0;
|
||||
size_t size;
|
||||
void *buf;
|
||||
|
||||
rq_for_each_segment(bvec, req, iter) {
|
||||
unsigned long flags;
|
||||
dev_dbg(&dev->sbd.core, "%s:%u: bio %u: %u sectors from %llu\n",
|
||||
__func__, __LINE__, i, bio_sectors(iter.bio),
|
||||
iter.bio->bi_iter.bi_sector);
|
||||
|
||||
size = bvec.bv_len;
|
||||
buf = bvec_kmap_irq(&bvec, &flags);
|
||||
if (gather)
|
||||
memcpy(dev->bounce_buf+offset, buf, size);
|
||||
memcpy_from_bvec(dev->bounce_buf + offset, &bvec);
|
||||
else
|
||||
memcpy(buf, dev->bounce_buf+offset, size);
|
||||
offset += size;
|
||||
flush_kernel_dcache_page(bvec.bv_page);
|
||||
bvec_kunmap_irq(buf, &flags);
|
||||
i++;
|
||||
memcpy_to_bvec(&bvec, dev->bounce_buf + offset);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user