diff options
author | Fabio M. De Francesco <fmdefrancesco@gmail.com> | 2023-01-19 18:32:31 +0300 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2023-01-20 03:45:43 +0300 |
commit | c26ddc49c9080975cc03cf3bd6917c3fb37d808b (patch) | |
tree | f633989c9ee76a0282a06d67a0d1ef8351eb35ee | |
parent | 8dd6c7b2944ce349f06db763d7a2a90a0b83ba0d (diff) | |
download | linux-c26ddc49c9080975cc03cf3bd6917c3fb37d808b.tar.xz |
fs/sysv: Use dir_put_page() in sysv_rename()
Use the dir_put_page() helper in sysv_rename() instead of open-coding two
kunmap() + put_page().
Cc: Al Viro <viro@zeniv.linux.org.uk>
Suggested-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | fs/sysv/dir.c | 2 | ||||
-rw-r--r-- | fs/sysv/namei.c | 9 | ||||
-rw-r--r-- | fs/sysv/sysv.h | 1 |
3 files changed, 5 insertions, 7 deletions
diff --git a/fs/sysv/dir.c b/fs/sysv/dir.c index ad334c8ef7b1..6b402e685f1e 100644 --- a/fs/sysv/dir.c +++ b/fs/sysv/dir.c @@ -28,7 +28,7 @@ const struct file_operations sysv_dir_operations = { .fsync = generic_file_fsync, }; -static inline void dir_put_page(struct page *page) +inline void dir_put_page(struct page *page) { kunmap(page); put_page(page); diff --git a/fs/sysv/namei.c b/fs/sysv/namei.c index b2e6abc06a2d..981c1d76f342 100644 --- a/fs/sysv/namei.c +++ b/fs/sysv/namei.c @@ -250,13 +250,10 @@ static int sysv_rename(struct user_namespace *mnt_userns, struct inode *old_dir, return 0; out_dir: - if (dir_de) { - kunmap(dir_page); - put_page(dir_page); - } + if (dir_de) + dir_put_page(dir_page); out_old: - kunmap(old_page); - put_page(old_page); + dir_put_page(old_page); out: return err; } diff --git a/fs/sysv/sysv.h b/fs/sysv/sysv.h index 99ddf033da4f..b250ac1dd348 100644 --- a/fs/sysv/sysv.h +++ b/fs/sysv/sysv.h @@ -148,6 +148,7 @@ extern void sysv_destroy_icache(void); /* dir.c */ +extern void dir_put_page(struct page *page); extern struct sysv_dir_entry *sysv_find_entry(struct dentry *, struct page **); extern int sysv_add_link(struct dentry *, struct inode *); extern int sysv_delete_entry(struct sysv_dir_entry *, struct page *); |