[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221229225100.22141-4-fmdefrancesco@gmail.com>
Date: Thu, 29 Dec 2022 23:50:59 +0100
From: "Fabio M. De Francesco" <fmdefrancesco@...il.com>
To: Evgeniy Dushistov <dushistov@...l.ru>,
Al Viro <viro@...iv.linux.org.uk>,
Ira Weiny <ira.weiny@...el.com>, linux-kernel@...r.kernel.org,
bpf@...r.kernel.org, linux-fsdevel@...r.kernel.org
Cc: "Fabio M. De Francesco" <fmdefrancesco@...il.com>
Subject: [PATCH v5 3/4] fs/ufs: Use ufs_put_page() in ufs_rename()
Use the ufs_put_page() helper in ufs_rename() instead of open-coding three
kunmap() + put_page().
Cc: Al Viro <viro@...iv.linux.org.uk>
Suggested-by: Ira Weiny <ira.weiny@...el.com>
Signed-off-by: Fabio M. De Francesco <fmdefrancesco@...il.com>
---
fs/ufs/dir.c | 2 +-
fs/ufs/namei.c | 9 +++------
fs/ufs/ufs.h | 1 +
3 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/fs/ufs/dir.c b/fs/ufs/dir.c
index ae3b20354a28..0bfd563ab0c2 100644
--- a/fs/ufs/dir.c
+++ b/fs/ufs/dir.c
@@ -61,7 +61,7 @@ static int ufs_commit_chunk(struct page *page, loff_t pos, unsigned len)
return err;
}
-static inline void ufs_put_page(struct page *page)
+inline void ufs_put_page(struct page *page)
{
kunmap(page);
put_page(page);
diff --git a/fs/ufs/namei.c b/fs/ufs/namei.c
index 29d5a0e0c8f0..486b0f2e8b7a 100644
--- a/fs/ufs/namei.c
+++ b/fs/ufs/namei.c
@@ -307,8 +307,7 @@ static int ufs_rename(struct user_namespace *mnt_userns, struct inode *old_dir,
if (old_dir != new_dir)
ufs_set_link(old_inode, dir_de, dir_page, new_dir, 0);
else {
- kunmap(dir_page);
- put_page(dir_page);
+ ufs_put_page(dir_page);
}
inode_dec_link_count(old_dir);
}
@@ -317,12 +316,10 @@ static int ufs_rename(struct user_namespace *mnt_userns, struct inode *old_dir,
out_dir:
if (dir_de) {
- kunmap(dir_page);
- put_page(dir_page);
+ ufs_put_page(dir_page);
}
out_old:
- kunmap(old_page);
- put_page(old_page);
+ ufs_put_page(old_page);
out:
return err;
}
diff --git a/fs/ufs/ufs.h b/fs/ufs/ufs.h
index 550f7c5a3636..f7ba8df25d03 100644
--- a/fs/ufs/ufs.h
+++ b/fs/ufs/ufs.h
@@ -98,6 +98,7 @@ extern struct ufs_cg_private_info * ufs_load_cylinder (struct super_block *, uns
extern void ufs_put_cylinder (struct super_block *, unsigned);
/* dir.c */
+extern void ufs_put_page(struct page *page);
extern const struct inode_operations ufs_dir_inode_operations;
extern int ufs_add_link (struct dentry *, struct inode *);
extern ino_t ufs_inode_by_name(struct inode *, const struct qstr *);
--
2.39.0
Powered by blists - more mailing lists