cifs: use bvec_set_page to initialize bvecs
Use the bvec_set_page helper to initialize bvecs. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Paulo Alcantara (SUSE) <pc@cjr.nz> Link: https://lore.kernel.org/r/20230203150634.3199647-14-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Родитель
5c6542b661
Коммит
220ae4a5c2
|
@ -759,8 +759,9 @@ cifs_read_page_from_socket(struct TCP_Server_Info *server, struct page *page,
|
|||
unsigned int page_offset, unsigned int to_read)
|
||||
{
|
||||
struct msghdr smb_msg = {};
|
||||
struct bio_vec bv = {
|
||||
.bv_page = page, .bv_len = to_read, .bv_offset = page_offset};
|
||||
struct bio_vec bv;
|
||||
|
||||
bvec_set_page(&bv, page, to_read, page_offset);
|
||||
iov_iter_bvec(&smb_msg.msg_iter, ITER_DEST, &bv, 1, to_read);
|
||||
return cifs_readv_from_socket(server, &smb_msg);
|
||||
}
|
||||
|
|
|
@ -143,14 +143,12 @@ static int fscache_fallback_read_page(struct inode *inode, struct page *page)
|
|||
struct netfs_cache_resources cres;
|
||||
struct fscache_cookie *cookie = cifs_inode_cookie(inode);
|
||||
struct iov_iter iter;
|
||||
struct bio_vec bvec[1];
|
||||
struct bio_vec bvec;
|
||||
int ret;
|
||||
|
||||
memset(&cres, 0, sizeof(cres));
|
||||
bvec[0].bv_page = page;
|
||||
bvec[0].bv_offset = 0;
|
||||
bvec[0].bv_len = PAGE_SIZE;
|
||||
iov_iter_bvec(&iter, ITER_DEST, bvec, ARRAY_SIZE(bvec), PAGE_SIZE);
|
||||
bvec_set_page(&bvec, page, PAGE_SIZE, 0);
|
||||
iov_iter_bvec(&iter, ITER_DEST, &bvec, 1, PAGE_SIZE);
|
||||
|
||||
ret = fscache_begin_read_operation(&cres, cookie);
|
||||
if (ret < 0)
|
||||
|
@ -171,16 +169,14 @@ static int fscache_fallback_write_page(struct inode *inode, struct page *page,
|
|||
struct netfs_cache_resources cres;
|
||||
struct fscache_cookie *cookie = cifs_inode_cookie(inode);
|
||||
struct iov_iter iter;
|
||||
struct bio_vec bvec[1];
|
||||
struct bio_vec bvec;
|
||||
loff_t start = page_offset(page);
|
||||
size_t len = PAGE_SIZE;
|
||||
int ret;
|
||||
|
||||
memset(&cres, 0, sizeof(cres));
|
||||
bvec[0].bv_page = page;
|
||||
bvec[0].bv_offset = 0;
|
||||
bvec[0].bv_len = PAGE_SIZE;
|
||||
iov_iter_bvec(&iter, ITER_SOURCE, bvec, ARRAY_SIZE(bvec), PAGE_SIZE);
|
||||
bvec_set_page(&bvec, page, PAGE_SIZE, 0);
|
||||
iov_iter_bvec(&iter, ITER_SOURCE, &bvec, 1, PAGE_SIZE);
|
||||
|
||||
ret = fscache_begin_write_operation(&cres, cookie);
|
||||
if (ret < 0)
|
||||
|
|
|
@ -1054,9 +1054,8 @@ setup_aio_ctx_iter(struct cifs_aio_ctx *ctx, struct iov_iter *iter, int rw)
|
|||
|
||||
for (i = 0; i < cur_npages; i++) {
|
||||
len = rc > PAGE_SIZE ? PAGE_SIZE : rc;
|
||||
bv[npages + i].bv_page = pages[i];
|
||||
bv[npages + i].bv_offset = start;
|
||||
bv[npages + i].bv_len = len - start;
|
||||
bvec_set_page(&bv[npages + i], pages[i], len - start,
|
||||
start);
|
||||
rc -= len;
|
||||
start = 0;
|
||||
}
|
||||
|
|
|
@ -4598,9 +4598,9 @@ init_read_bvec(struct page **pages, unsigned int npages, unsigned int data_size,
|
|||
return -ENOMEM;
|
||||
|
||||
for (i = 0; i < npages; i++) {
|
||||
bvec[i].bv_page = pages[i];
|
||||
bvec[i].bv_offset = (i == 0) ? cur_off : 0;
|
||||
bvec[i].bv_len = min_t(unsigned int, PAGE_SIZE, data_size);
|
||||
bvec_set_page(&bvec[i], pages[i],
|
||||
min_t(unsigned int, PAGE_SIZE, data_size),
|
||||
i == 0 ? cur_off : 0);
|
||||
data_size -= bvec[i].bv_len;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче