Re: [PATCH 5/5] fanotify: add inline modifier

From: Jan Kara
Date: Tue Jun 28 2022 - 05:14:49 EST


On Tue 28-06-22 16:17:31, Guowei Du wrote:
> From: duguowei <duguowei@xxxxxxxxxx>
>
> No functional change.
> This patch only makes a little change for compiling.
>
> Signed-off-by: duguowei <duguowei@xxxxxxxxxx>

Thanks for the patch but I'm sorry I don't see a benefit of these changes.
For static functions 'inline' is not really useful because the compiler
decides about inlining of static functions on its own.

Also the change to fanotify_fh_equal() makes the code less readable, not
more...

Honza

> ---
> fs/notify/fanotify/fanotify.c | 16 +++++++---------
> 1 file changed, 7 insertions(+), 9 deletions(-)
>
> diff --git a/fs/notify/fanotify/fanotify.c b/fs/notify/fanotify/fanotify.c
> index 4f897e109547..a32752350e0e 100644
> --- a/fs/notify/fanotify/fanotify.c
> +++ b/fs/notify/fanotify/fanotify.c
> @@ -18,12 +18,12 @@
>
> #include "fanotify.h"
>
> -static bool fanotify_path_equal(struct path *p1, struct path *p2)
> +static inline bool fanotify_path_equal(struct path *p1, struct path *p2)
> {
> return p1->mnt == p2->mnt && p1->dentry == p2->dentry;
> }
>
> -static unsigned int fanotify_hash_path(const struct path *path)
> +static inline unsigned int fanotify_hash_path(const struct path *path)
> {
> return hash_ptr(path->dentry, FANOTIFY_EVENT_HASH_BITS) ^
> hash_ptr(path->mnt, FANOTIFY_EVENT_HASH_BITS);
> @@ -35,20 +35,18 @@ static inline bool fanotify_fsid_equal(__kernel_fsid_t *fsid1,
> return fsid1->val[0] == fsid2->val[0] && fsid1->val[1] == fsid2->val[1];
> }
>
> -static unsigned int fanotify_hash_fsid(__kernel_fsid_t *fsid)
> +static inline unsigned int fanotify_hash_fsid(__kernel_fsid_t *fsid)
> {
> return hash_32(fsid->val[0], FANOTIFY_EVENT_HASH_BITS) ^
> hash_32(fsid->val[1], FANOTIFY_EVENT_HASH_BITS);
> }
>
> -static bool fanotify_fh_equal(struct fanotify_fh *fh1,
> +static inline bool fanotify_fh_equal(struct fanotify_fh *fh1,
> struct fanotify_fh *fh2)
> {
> - if (fh1->type != fh2->type || fh1->len != fh2->len)
> - return false;
> -
> - return !fh1->len ||
> - !memcmp(fanotify_fh_buf(fh1), fanotify_fh_buf(fh2), fh1->len);
> + return fh1->type == fh2->type && fh1->len == fh2->len &&
> + (!fh1->len ||
> + !memcmp(fanotify_fh_buf(fh1), fanotify_fh_buf(fh2), fh1->len));
> }
>
> static unsigned int fanotify_hash_fh(struct fanotify_fh *fh)
> --
> 2.36.1
>
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR