Use the ufs_put_page() helper in ufs_rename() instead of open-coding three
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>
---
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
On Thu, Dec 29, 2022 at 11:50:59PM +0100, Fabio M. De Francesco wrote: > Use the ufs_put_page() helper in ufs_rename() instead of open-coding three > kunmap() + put_page(). > > Cc: Al Viro <viro@zeniv.linux.org.uk> > Suggested-by: Ira Weiny <ira.weiny@intel.com> Reviewed-by: Ira Weiny <ira.weiny@intel.com> > Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.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 >
© 2016 - 2025 Red Hat, Inc.