diff options
author | Ira Weiny <ira.weiny@intel.com> | 2021-02-16 18:48:24 -0800 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2021-04-19 17:25:16 +0200 |
commit | 94a0b58d2d3b92c72fbf1b97d9129e470c1d2175 (patch) | |
tree | da41f1e0989122fb13f3988f1e966ee6f9240e3c /fs/btrfs/tree-mod-log.c | |
parent | 58c1a35cd52268ae1524b3ff5eac9fa2414e6efc (diff) |
btrfs: raid56: convert kmaps to kmap_local_page
These kmaps are thread local and don't need to be atomic. So they can use
the more efficient kmap_local_page(). However, the mapping of pages in
the stripes and the additional parity and qstripe pages are a bit
trickier because the unmapping must occur in the opposite order from the
mapping. Furthermore, the pointer array in __raid_recover_end_io() may
get reordered.
Convert these calls to kmap_local_page() taking care to reverse the
unmappings of any page arrays as well as being careful with the mappings
of any special pages such as the parity and qstripe pages.
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/tree-mod-log.c')
0 files changed, 0 insertions, 0 deletions