Re: [PATCH 7/7] fs: Do not overload update_time

From: Dave Chinner
Date: Sun Dec 01 2019 - 15:52:18 EST


On Fri, Nov 29, 2019 at 09:30:30PM -0800, Deepa Dinamani wrote:
> update_time() also has an internal function pointer
> update_time. Even though this works correctly, it is
> confusing to the readers.
>
> Use a different name for the local variable.
>
> Suggested-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Deepa Dinamani <deepa.kernel@xxxxxxxxx>
> ---
> fs/inode.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/fs/inode.c b/fs/inode.c
> index 12c9e38529c9..0be58a680457 100644
> --- a/fs/inode.c
> +++ b/fs/inode.c
> @@ -1675,12 +1675,12 @@ EXPORT_SYMBOL(generic_update_time);
> */
> static int update_time(struct inode *inode, struct timespec64 *time, int flags)
> {
> - int (*update_time)(struct inode *, struct timespec64 *, int);
> + int (*cb)(struct inode *, struct timespec64 *, int);
>
> - update_time = inode->i_op->update_time ? inode->i_op->update_time :
> + cb = inode->i_op->update_time ? inode->i_op->update_time :
> generic_update_time;
>
> - return update_time(inode, time, flags);
> + return cb(inode, time, flags);

What's wrong with a simple if() like we use everywhere else for this
sort of thing?

if (inode->i_op->update_time)
return inode->i_op->update_time(inode, time, flags);
return generic_update_time(inode, time, flags);

-Dave.
--
Dave Chinner
david@xxxxxxxxxxxxx