fs/ext2: Replace kmap() with kmap_local_page()
authorIra Weiny <ira.weiny@intel.com>
Mon, 29 Mar 2021 06:54:02 +0000 (23:54 -0700)
committerJan Kara <jack@suse.cz>
Wed, 31 Mar 2021 11:10:20 +0000 (13:10 +0200)
commit782b76d7abdf02b12c46ed6f1e9bf715569027f7
treeff01e154cd08335de0da0f1cf8fae5262202f61c
parente2ebb1230455985df6aa45835a451a5404eddd8d
fs/ext2: Replace kmap() with kmap_local_page()

The k[un]map() calls in ext2_[get|put]_page() are localized to a single
thread.  kmap_local_page() is more efficient.

Replace the kmap/kunmap calls with kmap_local_page()/kunmap_local().
kunmap_local() requires the mapping address so return that address from
ext2_get_page() to be used in ext2_put_page().  This works well because
many of the callers need the address anyway so it is not bad to return
it along with the page.

In addition, kmap_local_page()/kunmap_local() require strict nesting
rules to be followed.

Document the new nesting requirements of ext2_get_page() and
ext2_put_page() as well as the relationship between ext2_get_page(),
ext2_find_entry(), and ext2_dotdot().

Adjust one ext2_put_page() call site in ext2_rename() to ensure the new
nesting requirements are met.

Finally, adjust code style for checkpatch.

To: Jan Kara <jack@suse.com>
Link: https://lore.kernel.org/r/20210329065402.3297092-3-ira.weiny@intel.com
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/ext2/dir.c
fs/ext2/ext2.h
fs/ext2/namei.c