Message ID | 20220222155156.597597-10-hch@lst.de (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [01/10] iss-simdisk: use bvec_kmap_local in simdisk_submit_bio | expand |
On Tue, Feb 22, 2022 at 04:51:55PM +0100, Christoph Hellwig wrote: > Using local kmaps slightly reduces the chances to stray writes, and > the bvec interface cleans up the code a little bit. > > Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Ira Weiny <ira.weiny@intel.com> > --- > drivers/block/drbd/drbd_receiver.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c > index 04e3ec12d8b49..fa00cf2ea9529 100644 > --- a/drivers/block/drbd/drbd_receiver.c > +++ b/drivers/block/drbd/drbd_receiver.c > @@ -2017,10 +2017,10 @@ static int recv_dless_read(struct drbd_peer_device *peer_device, struct drbd_req > D_ASSERT(peer_device->device, sector == bio->bi_iter.bi_sector); > > bio_for_each_segment(bvec, bio, iter) { > - void *mapped = kmap(bvec.bv_page) + bvec.bv_offset; > + void *mapped = bvec_kmap_local(&bvec); > expect = min_t(int, data_size, bvec.bv_len); > err = drbd_recv_all_warn(peer_device->connection, mapped, expect); > - kunmap(bvec.bv_page); > + kunmap_local(mapped); > if (err) > return err; > data_size -= expect; > -- > 2.30.2 > >
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c index 04e3ec12d8b49..fa00cf2ea9529 100644 --- a/drivers/block/drbd/drbd_receiver.c +++ b/drivers/block/drbd/drbd_receiver.c @@ -2017,10 +2017,10 @@ static int recv_dless_read(struct drbd_peer_device *peer_device, struct drbd_req D_ASSERT(peer_device->device, sector == bio->bi_iter.bi_sector); bio_for_each_segment(bvec, bio, iter) { - void *mapped = kmap(bvec.bv_page) + bvec.bv_offset; + void *mapped = bvec_kmap_local(&bvec); expect = min_t(int, data_size, bvec.bv_len); err = drbd_recv_all_warn(peer_device->connection, mapped, expect); - kunmap(bvec.bv_page); + kunmap_local(mapped); if (err) return err; data_size -= expect;
Using local kmaps slightly reduces the chances to stray writes, and the bvec interface cleans up the code a little bit. Signed-off-by: Christoph Hellwig <hch@lst.de> --- drivers/block/drbd/drbd_receiver.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)