diff --git a/fs/ceph/file.c b/fs/ceph/file.c index 764598e1efd9..90b2aa7963bf 100644 --- a/fs/ceph/file.c +++ b/fs/ceph/file.c @@ -103,14 +103,10 @@ static ssize_t __iter_get_bvecs(struct iov_iter *iter, size_t maxsize, size += bytes; for ( ; bytes; idx++, bvec_idx++) { - struct bio_vec bv = { - .bv_page = pages[idx], - .bv_len = min_t(int, bytes, PAGE_SIZE - start), - .bv_offset = start, - }; + int len = min_t(int, bytes, PAGE_SIZE - start); - bvecs[bvec_idx] = bv; - bytes -= bv.bv_len; + bvec_set_page(&bvecs[bvec_idx], pages[idx], len, start); + bytes -= len; start = 0; } }