diff options
author | Christoph Hellwig <hch@lst.de> | 2021-10-19 15:44:04 +0200 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2021-11-01 13:28:46 -0400 |
commit | 25058d1c725c70e52c7750a3fafabb78cadefd9b (patch) | |
tree | 8dd5f4189ca55c7e9671fa5e00433ba0133bd824 /drivers/md/dm-integrity.c | |
parent | c12d205dae09da9623c6a4c35a9b17088a9b9a71 (diff) | |
download | linux-25058d1c725c70e52c7750a3fafabb78cadefd9b.tar.gz linux-25058d1c725c70e52c7750a3fafabb78cadefd9b.tar.bz2 linux-25058d1c725c70e52c7750a3fafabb78cadefd9b.zip |
dm integrity: use bvec_kmap_local in __journal_read_write
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>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/md/dm-integrity.c')
-rw-r--r-- | drivers/md/dm-integrity.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/md/dm-integrity.c b/drivers/md/dm-integrity.c index d8180d2a4284..0af091bf99c4 100644 --- a/drivers/md/dm-integrity.c +++ b/drivers/md/dm-integrity.c @@ -1963,7 +1963,7 @@ static bool __journal_read_write(struct dm_integrity_io *dio, struct bio *bio, n_sectors -= bv.bv_len >> SECTOR_SHIFT; bio_advance_iter(bio, &bio->bi_iter, bv.bv_len); retry_kmap: - mem = kmap_atomic(bv.bv_page); + mem = bvec_kmap_local(&bv); if (likely(dio->op == REQ_OP_WRITE)) flush_dcache_page(bv.bv_page); @@ -1977,7 +1977,7 @@ retry_kmap: if (unlikely(journal_entry_is_inprogress(je))) { flush_dcache_page(bv.bv_page); - kunmap_atomic(mem); + kunmap_local(mem); __io_wait_event(ic->copy_to_journal_wait, !journal_entry_is_inprogress(je)); goto retry_kmap; @@ -2070,7 +2070,7 @@ retry_kmap: if (unlikely(dio->op == REQ_OP_READ)) flush_dcache_page(bv.bv_page); - kunmap_atomic(mem); + kunmap_local(mem); } while (n_sectors); if (likely(dio->op == REQ_OP_WRITE)) { |