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

From: Christoph Hellwig
Date: Mon Dec 02 2019 - 12:48:14 EST


On Fri, Nov 29, 2019 at 09:30:30PM -0800, Deepa Dinamani wrote:
> - 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);

Just killing the pointless local variable cleans the function op, and
also avoids the expensive indirect call for the common case:

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