Skip to content

Commit 598daf7

Browse files
konisakpm00
authored andcommitted
nilfs2: convert recovery logic to use kmap_local
Patch series "nilfs2: eliminate kmap and kmap_atomic calls". This series converts remaining kmap and kmap_atomic calls to use kmap_local, mainly in metadata files, and eliminates calls to these deprecated kmap functions from nilfs2. This series does not include converting metadata files to use folios, but it is a step in that direction. Most conversions are straightforward, but some are not: the checkpoint file, the inode file, and the persistent object allocator. These have been adjusted or rewritten to avoid multiple kmap_local calls or nest them if necessary, and to eliminate long waits like block I/O within the highmem mapping sections. This series has been tested in both 32-bit and 64-bit environments with varying block sizes. This patch (of 15): In the recovery function when mounting, nilfs_recovery_copy_block() uses the deprecated kmap_atomic(), so convert it to use kmap_local. Link: https://lkml.kernel.org/r/20240122140202.6950-1-konishi.ryusuke@gmail.com Link: https://lkml.kernel.org/r/20240122140202.6950-2-konishi.ryusuke@gmail.com Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
1 parent f785785 commit 598daf7

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

fs/nilfs2/recovery.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -482,9 +482,9 @@ static int nilfs_recovery_copy_block(struct the_nilfs *nilfs,
482482
if (unlikely(!bh_org))
483483
return -EIO;
484484

485-
kaddr = kmap_atomic(page);
485+
kaddr = kmap_local_page(page);
486486
memcpy(kaddr + from, bh_org->b_data, bh_org->b_size);
487-
kunmap_atomic(kaddr);
487+
kunmap_local(kaddr);
488488
brelse(bh_org);
489489
return 0;
490490
}

0 commit comments

Comments
 (0)