| From: Ryusuke Konishi <konishi.ryusuke@gmail.com> |
| Subject: nilfs2: convert DAT to use kmap_local |
| Date: Mon, 22 Jan 2024 23:01:54 +0900 |
| |
| Concerning the code of the metadata file DAT for disk address translation, |
| convert all parts that use the deprecated kmap_atomic to use kmap_local. |
| All transformations are directly possible. |
| |
| Link: https://lkml.kernel.org/r/20240122140202.6950-8-konishi.ryusuke@gmail.com |
| Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| fs/nilfs2/dat.c | 38 +++++++++++++++++++------------------- |
| 1 file changed, 19 insertions(+), 19 deletions(-) |
| |
| --- a/fs/nilfs2/dat.c~nilfs2-convert-dat-to-use-kmap_local |
| +++ a/fs/nilfs2/dat.c |
| @@ -91,13 +91,13 @@ void nilfs_dat_commit_alloc(struct inode |
| struct nilfs_dat_entry *entry; |
| void *kaddr; |
| |
| - kaddr = kmap_atomic(req->pr_entry_bh->b_page); |
| + kaddr = kmap_local_page(req->pr_entry_bh->b_page); |
| entry = nilfs_palloc_block_get_entry(dat, req->pr_entry_nr, |
| req->pr_entry_bh, kaddr); |
| entry->de_start = cpu_to_le64(NILFS_CNO_MIN); |
| entry->de_end = cpu_to_le64(NILFS_CNO_MAX); |
| entry->de_blocknr = cpu_to_le64(0); |
| - kunmap_atomic(kaddr); |
| + kunmap_local(kaddr); |
| |
| nilfs_palloc_commit_alloc_entry(dat, req); |
| nilfs_dat_commit_entry(dat, req); |
| @@ -115,13 +115,13 @@ static void nilfs_dat_commit_free(struct |
| struct nilfs_dat_entry *entry; |
| void *kaddr; |
| |
| - kaddr = kmap_atomic(req->pr_entry_bh->b_page); |
| + kaddr = kmap_local_page(req->pr_entry_bh->b_page); |
| entry = nilfs_palloc_block_get_entry(dat, req->pr_entry_nr, |
| req->pr_entry_bh, kaddr); |
| entry->de_start = cpu_to_le64(NILFS_CNO_MIN); |
| entry->de_end = cpu_to_le64(NILFS_CNO_MIN); |
| entry->de_blocknr = cpu_to_le64(0); |
| - kunmap_atomic(kaddr); |
| + kunmap_local(kaddr); |
| |
| nilfs_dat_commit_entry(dat, req); |
| |
| @@ -145,12 +145,12 @@ void nilfs_dat_commit_start(struct inode |
| struct nilfs_dat_entry *entry; |
| void *kaddr; |
| |
| - kaddr = kmap_atomic(req->pr_entry_bh->b_page); |
| + kaddr = kmap_local_page(req->pr_entry_bh->b_page); |
| entry = nilfs_palloc_block_get_entry(dat, req->pr_entry_nr, |
| req->pr_entry_bh, kaddr); |
| entry->de_start = cpu_to_le64(nilfs_mdt_cno(dat)); |
| entry->de_blocknr = cpu_to_le64(blocknr); |
| - kunmap_atomic(kaddr); |
| + kunmap_local(kaddr); |
| |
| nilfs_dat_commit_entry(dat, req); |
| } |
| @@ -167,12 +167,12 @@ int nilfs_dat_prepare_end(struct inode * |
| if (ret < 0) |
| return ret; |
| |
| - kaddr = kmap_atomic(req->pr_entry_bh->b_page); |
| + kaddr = kmap_local_page(req->pr_entry_bh->b_page); |
| entry = nilfs_palloc_block_get_entry(dat, req->pr_entry_nr, |
| req->pr_entry_bh, kaddr); |
| start = le64_to_cpu(entry->de_start); |
| blocknr = le64_to_cpu(entry->de_blocknr); |
| - kunmap_atomic(kaddr); |
| + kunmap_local(kaddr); |
| |
| if (blocknr == 0) { |
| ret = nilfs_palloc_prepare_free_entry(dat, req); |
| @@ -202,7 +202,7 @@ void nilfs_dat_commit_end(struct inode * |
| sector_t blocknr; |
| void *kaddr; |
| |
| - kaddr = kmap_atomic(req->pr_entry_bh->b_page); |
| + kaddr = kmap_local_page(req->pr_entry_bh->b_page); |
| entry = nilfs_palloc_block_get_entry(dat, req->pr_entry_nr, |
| req->pr_entry_bh, kaddr); |
| end = start = le64_to_cpu(entry->de_start); |
| @@ -212,7 +212,7 @@ void nilfs_dat_commit_end(struct inode * |
| } |
| entry->de_end = cpu_to_le64(end); |
| blocknr = le64_to_cpu(entry->de_blocknr); |
| - kunmap_atomic(kaddr); |
| + kunmap_local(kaddr); |
| |
| if (blocknr == 0) |
| nilfs_dat_commit_free(dat, req); |
| @@ -227,12 +227,12 @@ void nilfs_dat_abort_end(struct inode *d |
| sector_t blocknr; |
| void *kaddr; |
| |
| - kaddr = kmap_atomic(req->pr_entry_bh->b_page); |
| + kaddr = kmap_local_page(req->pr_entry_bh->b_page); |
| entry = nilfs_palloc_block_get_entry(dat, req->pr_entry_nr, |
| req->pr_entry_bh, kaddr); |
| start = le64_to_cpu(entry->de_start); |
| blocknr = le64_to_cpu(entry->de_blocknr); |
| - kunmap_atomic(kaddr); |
| + kunmap_local(kaddr); |
| |
| if (start == nilfs_mdt_cno(dat) && blocknr == 0) |
| nilfs_palloc_abort_free_entry(dat, req); |
| @@ -362,7 +362,7 @@ int nilfs_dat_move(struct inode *dat, __ |
| } |
| } |
| |
| - kaddr = kmap_atomic(entry_bh->b_page); |
| + kaddr = kmap_local_page(entry_bh->b_page); |
| entry = nilfs_palloc_block_get_entry(dat, vblocknr, entry_bh, kaddr); |
| if (unlikely(entry->de_blocknr == cpu_to_le64(0))) { |
| nilfs_crit(dat->i_sb, |
| @@ -370,13 +370,13 @@ int nilfs_dat_move(struct inode *dat, __ |
| __func__, (unsigned long long)vblocknr, |
| (unsigned long long)le64_to_cpu(entry->de_start), |
| (unsigned long long)le64_to_cpu(entry->de_end)); |
| - kunmap_atomic(kaddr); |
| + kunmap_local(kaddr); |
| brelse(entry_bh); |
| return -EINVAL; |
| } |
| WARN_ON(blocknr == 0); |
| entry->de_blocknr = cpu_to_le64(blocknr); |
| - kunmap_atomic(kaddr); |
| + kunmap_local(kaddr); |
| |
| mark_buffer_dirty(entry_bh); |
| nilfs_mdt_mark_dirty(dat); |
| @@ -426,7 +426,7 @@ int nilfs_dat_translate(struct inode *da |
| } |
| } |
| |
| - kaddr = kmap_atomic(entry_bh->b_page); |
| + kaddr = kmap_local_page(entry_bh->b_page); |
| entry = nilfs_palloc_block_get_entry(dat, vblocknr, entry_bh, kaddr); |
| blocknr = le64_to_cpu(entry->de_blocknr); |
| if (blocknr == 0) { |
| @@ -436,7 +436,7 @@ int nilfs_dat_translate(struct inode *da |
| *blocknrp = blocknr; |
| |
| out: |
| - kunmap_atomic(kaddr); |
| + kunmap_local(kaddr); |
| brelse(entry_bh); |
| return ret; |
| } |
| @@ -457,7 +457,7 @@ ssize_t nilfs_dat_get_vinfo(struct inode |
| 0, &entry_bh); |
| if (ret < 0) |
| return ret; |
| - kaddr = kmap_atomic(entry_bh->b_page); |
| + kaddr = kmap_local_page(entry_bh->b_page); |
| /* last virtual block number in this block */ |
| first = vinfo->vi_vblocknr; |
| do_div(first, entries_per_block); |
| @@ -473,7 +473,7 @@ ssize_t nilfs_dat_get_vinfo(struct inode |
| vinfo->vi_end = le64_to_cpu(entry->de_end); |
| vinfo->vi_blocknr = le64_to_cpu(entry->de_blocknr); |
| } |
| - kunmap_atomic(kaddr); |
| + kunmap_local(kaddr); |
| brelse(entry_bh); |
| } |
| |
| _ |