[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Y641v67DTBgo3Sjn@iweiny-desk3>
Date: Thu, 29 Dec 2022 16:50:07 -0800
From: Ira Weiny <ira.weiny@...el.com>
To: "Fabio M. De Francesco" <fmdefrancesco@...il.com>
CC: Evgeniy Dushistov <dushistov@...l.ru>,
Al Viro <viro@...iv.linux.org.uk>,
<linux-kernel@...r.kernel.org>, <bpf@...r.kernel.org>,
<linux-fsdevel@...r.kernel.org>
Subject: Re: [PATCH v5 3/4] fs/ufs: Use ufs_put_page() in ufs_rename()
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@...iv.linux.org.uk>
> Suggested-by: Ira Weiny <ira.weiny@...el.com>
Reviewed-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