On 06/18, Chao Yu wrote: > On 2024/6/12 7:39, jtp.p...@samsung.com wrote: > > From: Jeongtae Park <jtp.p...@samsung.com> > > > > This patch adds a new scope based f2fs_putname() cleanup to reduce > > the chances of forgetting a f2fs_putname(). And doing so removes > > Actually, f2fs_trace_rw_file_path() won't change frequently, so the risk > of forgetting f2fs_putname() here is very low. > > > a goto statement for error handling. > > The code logic is fine to me, but not sure whether we should apply this. > > Jaegeuk, any comments?
IMO, we don't need this since it's a very trivial path. > > Thanks, > > > > > Signed-off-by: Jeongtae Park <jtp.p...@samsung.com> > > --- > > fs/f2fs/f2fs.h | 2 ++ > > fs/f2fs/file.c | 8 +++----- > > 2 files changed, 5 insertions(+), 5 deletions(-) > > > > diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h > > index 1974b6aff397..284024c12ee5 100644 > > --- a/fs/f2fs/f2fs.h > > +++ b/fs/f2fs/f2fs.h > > @@ -3402,6 +3402,8 @@ static inline void f2fs_putname(char *buf) > > __putname(buf); > > } > > +DEFINE_FREE(f2fs_putname, void *, if (_T) f2fs_putname(_T)) > > + > > static inline void *f2fs_kzalloc(struct f2fs_sb_info *sbi, > > size_t size, gfp_t flags) > > { > > diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c > > index 5c0b281a70f3..c783d017ed28 100644 > > --- a/fs/f2fs/file.c > > +++ b/fs/f2fs/file.c > > @@ -4511,22 +4511,20 @@ static void f2fs_trace_rw_file_path(struct file > > *file, loff_t pos, size_t count, > > int rw) > > { > > struct inode *inode = file_inode(file); > > - char *buf, *path; > > + char *buf __free(f2fs_putname) = f2fs_getname(F2FS_I_SB(inode)); > > + char *path; > > - buf = f2fs_getname(F2FS_I_SB(inode)); > > if (!buf) > > return; > > path = dentry_path_raw(file_dentry(file), buf, PATH_MAX); > > if (IS_ERR(path)) > > - goto free_buf; > > + return; > > if (rw == WRITE) > > trace_f2fs_datawrite_start(inode, pos, count, > > current->pid, path, current->comm); > > else > > trace_f2fs_dataread_start(inode, pos, count, > > current->pid, path, current->comm); > > -free_buf: > > - f2fs_putname(buf); > > } > > static ssize_t f2fs_file_read_iter(struct kiocb *iocb, struct iov_iter > > *to) _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel