summaryrefslogtreecommitdiffstats
path: root/fs/nilfs2/cpfile.h
diff options
context:
space:
mode:
authorRyusuke Konishi <konishi.ryusuke@gmail.com>2024-01-22 23:01:58 +0900
committerAndrew Morton <akpm@linux-foundation.org>2024-02-22 15:38:53 -0800
commitd37db936c5436400ad5992e2e0d18af9d17d2941 (patch)
treeed4ad336066c183bc18fde9fcfa02b47a1ece34c /fs/nilfs2/cpfile.h
parent7282f2ae8105878a0cc9a2b042f2d6550bf76fc4 (diff)
downloadlinux-d37db936c5436400ad5992e2e0d18af9d17d2941.tar.gz
linux-d37db936c5436400ad5992e2e0d18af9d17d2941.tar.bz2
linux-d37db936c5436400ad5992e2e0d18af9d17d2941.zip
nilfs2: localize highmem mapping for checkpoint creation within cpfile
In order to convert kmap() used in cpfile to kmap_local, first move the checkpoint creation routine, which is one of the places where kmap is used, to the cpfile side and make the page mapping local and temporary. And use kmap_local instead of kmap to access the checkpoint entry page (and header block page) when generating a checkpoint. Link: https://lkml.kernel.org/r/20240122140202.6950-12-konishi.ryusuke@gmail.com Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'fs/nilfs2/cpfile.h')
-rw-r--r--fs/nilfs2/cpfile.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nilfs2/cpfile.h b/fs/nilfs2/cpfile.h
index edabb2dc5756..fcb1a94097b3 100644
--- a/fs/nilfs2/cpfile.h
+++ b/fs/nilfs2/cpfile.h
@@ -19,6 +19,7 @@
int nilfs_cpfile_get_checkpoint(struct inode *, __u64, int,
struct nilfs_checkpoint **,
struct buffer_head **);
+int nilfs_cpfile_create_checkpoint(struct inode *cpfile, __u64 cno);
void nilfs_cpfile_put_checkpoint(struct inode *, __u64, struct buffer_head *);
int nilfs_cpfile_delete_checkpoints(struct inode *, __u64, __u64);
int nilfs_cpfile_delete_checkpoint(struct inode *, __u64);