Message ID | 20230130092157.1759539-13-hch@lst.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [01/23] block: factor out a bvec_set_page helper | expand |
On Mon, Jan 30, 2023 at 10:22 AM Christoph Hellwig <hch@lst.de> wrote: > > Use the bvec_set_page helper to initialize a bvec. > > Signed-off-by: Christoph Hellwig <hch@lst.de> > --- > fs/ceph/file.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/fs/ceph/file.c b/fs/ceph/file.c > index 764598e1efd91f..6419dce7c57987 100644 > --- a/fs/ceph/file.c > +++ b/fs/ceph/file.c > @@ -103,11 +103,11 @@ 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, > - }; > + struct bio_vec bv; > + > + bvec_set_page(&bv, pages[idx], Hi Christoph, There is trailing whitespace on this line which git complains about and it made me take a second look. I think bvec_set_page() allows to make this more compact: for ( ; bytes; idx++, bvec_idx++) { int len = min_t(int, bytes, PAGE_SIZE - start); bvec_set_page(&bvecs[bvec_idx], pages[idx], len, start); bytes -= len; start = 0; } Thanks, Ilya
On 31/01/2023 02:02, Ilya Dryomov wrote: > On Mon, Jan 30, 2023 at 10:22 AM Christoph Hellwig <hch@lst.de> wrote: >> Use the bvec_set_page helper to initialize a bvec. >> >> Signed-off-by: Christoph Hellwig <hch@lst.de> >> --- >> fs/ceph/file.c | 10 +++++----- >> 1 file changed, 5 insertions(+), 5 deletions(-) >> >> diff --git a/fs/ceph/file.c b/fs/ceph/file.c >> index 764598e1efd91f..6419dce7c57987 100644 >> --- a/fs/ceph/file.c >> +++ b/fs/ceph/file.c >> @@ -103,11 +103,11 @@ 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, >> - }; >> + struct bio_vec bv; >> + >> + bvec_set_page(&bv, pages[idx], > Hi Christoph, > > There is trailing whitespace on this line which git complains about > and it made me take a second look. I think bvec_set_page() allows to > make this more compact: > > for ( ; bytes; idx++, bvec_idx++) { > int len = min_t(int, bytes, PAGE_SIZE - start); > > bvec_set_page(&bvecs[bvec_idx], pages[idx], len, start); > bytes -= len; > start = 0; > } > This looks better. Thanks
diff --git a/fs/ceph/file.c b/fs/ceph/file.c index 764598e1efd91f..6419dce7c57987 100644 --- a/fs/ceph/file.c +++ b/fs/ceph/file.c @@ -103,11 +103,11 @@ 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, - }; + struct bio_vec bv; + + bvec_set_page(&bv, pages[idx], + min_t(int, bytes, PAGE_SIZE - start), + start); bvecs[bvec_idx] = bv; bytes -= bv.bv_len;
Use the bvec_set_page helper to initialize a bvec. Signed-off-by: Christoph Hellwig <hch@lst.de> --- fs/ceph/file.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)