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)
|
unsigned int page_offset, unsigned int to_read)
|
||||||
{
|
{
|
||||||
struct msghdr smb_msg = {};
|
struct msghdr smb_msg = {};
|
||||||
struct bio_vec bv = {
|
struct bio_vec bv;
|
||||||
.bv_page = page, .bv_len = to_read, .bv_offset = page_offset};
|
|
||||||
|
bvec_set_page(&bv, page, to_read, page_offset);
|
||||||
iov_iter_bvec(&smb_msg.msg_iter, ITER_DEST, &bv, 1, to_read);
|
iov_iter_bvec(&smb_msg.msg_iter, ITER_DEST, &bv, 1, to_read);
|
||||||
return cifs_readv_from_socket(server, &smb_msg);
|
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 netfs_cache_resources cres;
|
||||||
struct fscache_cookie *cookie = cifs_inode_cookie(inode);
|
struct fscache_cookie *cookie = cifs_inode_cookie(inode);
|
||||||
struct iov_iter iter;
|
struct iov_iter iter;
|
||||||
struct bio_vec bvec[1];
|
struct bio_vec bvec;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
memset(&cres, 0, sizeof(cres));
|
memset(&cres, 0, sizeof(cres));
|
||||||
bvec[0].bv_page = page;
|
bvec_set_page(&bvec, page, PAGE_SIZE, 0);
|
||||||
bvec[0].bv_offset = 0;
|
iov_iter_bvec(&iter, ITER_DEST, &bvec, 1, PAGE_SIZE);
|
||||||
bvec[0].bv_len = PAGE_SIZE;
|
|
||||||
iov_iter_bvec(&iter, ITER_DEST, bvec, ARRAY_SIZE(bvec), PAGE_SIZE);
|
|
||||||
|
|
||||||
ret = fscache_begin_read_operation(&cres, cookie);
|
ret = fscache_begin_read_operation(&cres, cookie);
|
||||||
if (ret < 0)
|
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 netfs_cache_resources cres;
|
||||||
struct fscache_cookie *cookie = cifs_inode_cookie(inode);
|
struct fscache_cookie *cookie = cifs_inode_cookie(inode);
|
||||||
struct iov_iter iter;
|
struct iov_iter iter;
|
||||||
struct bio_vec bvec[1];
|
struct bio_vec bvec;
|
||||||
loff_t start = page_offset(page);
|
loff_t start = page_offset(page);
|
||||||
size_t len = PAGE_SIZE;
|
size_t len = PAGE_SIZE;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
memset(&cres, 0, sizeof(cres));
|
memset(&cres, 0, sizeof(cres));
|
||||||
bvec[0].bv_page = page;
|
bvec_set_page(&bvec, page, PAGE_SIZE, 0);
|
||||||
bvec[0].bv_offset = 0;
|
iov_iter_bvec(&iter, ITER_SOURCE, &bvec, 1, PAGE_SIZE);
|
||||||
bvec[0].bv_len = PAGE_SIZE;
|
|
||||||
iov_iter_bvec(&iter, ITER_SOURCE, bvec, ARRAY_SIZE(bvec), PAGE_SIZE);
|
|
||||||
|
|
||||||
ret = fscache_begin_write_operation(&cres, cookie);
|
ret = fscache_begin_write_operation(&cres, cookie);
|
||||||
if (ret < 0)
|
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++) {
|
for (i = 0; i < cur_npages; i++) {
|
||||||
len = rc > PAGE_SIZE ? PAGE_SIZE : rc;
|
len = rc > PAGE_SIZE ? PAGE_SIZE : rc;
|
||||||
bv[npages + i].bv_page = pages[i];
|
bvec_set_page(&bv[npages + i], pages[i], len - start,
|
||||||
bv[npages + i].bv_offset = start;
|
start);
|
||||||
bv[npages + i].bv_len = len - start;
|
|
||||||
rc -= len;
|
rc -= len;
|
||||||
start = 0;
|
start = 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4598,9 +4598,9 @@ init_read_bvec(struct page **pages, unsigned int npages, unsigned int data_size,
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
for (i = 0; i < npages; i++) {
|
for (i = 0; i < npages; i++) {
|
||||||
bvec[i].bv_page = pages[i];
|
bvec_set_page(&bvec[i], pages[i],
|
||||||
bvec[i].bv_offset = (i == 0) ? cur_off : 0;
|
min_t(unsigned int, PAGE_SIZE, data_size),
|
||||||
bvec[i].bv_len = min_t(unsigned int, PAGE_SIZE, data_size);
|
i == 0 ? cur_off : 0);
|
||||||
data_size -= bvec[i].bv_len;
|
data_size -= bvec[i].bv_len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче