Messages in this thread | | | Subject | Re: [PATCH] filelock: ignore 'lock' argument to for_each_file_lock() | From | Jeff Layton <> | Date | Mon, 12 Feb 2024 07:08:28 -0500 |
| |
On Mon, 2024-02-12 at 12:26 +0100, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > When CONFIG_FILE_LOCKING is disabled, ceph causes a warning about > a variable that is only used insode of the for_each_file_lock() > loop: > > fs/ceph/locks.c: In function 'ceph_count_locks': > fs/ceph/locks.c:380:27: error: unused variable 'lock' [-Werror=unused-variable] > 380 | struct file_lock *lock; > > Rather than working around this in ceph, change the macro definition > to still contain a reference to the variable in order to shut up the > warning. > > Fixes: 75cabec0111b ("filelock: add some new helper functions") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > include/linux/filelock.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/linux/filelock.h b/include/linux/filelock.h > index aabd4bdf7eba..69290173280a 100644 > --- a/include/linux/filelock.h > +++ b/include/linux/filelock.h > @@ -283,7 +283,7 @@ static inline void locks_wake_up(struct file_lock *fl) > { > } > > -#define for_each_file_lock(_fl, _head) while(false) > +#define for_each_file_lock(_fl, _head) while((void)_fl, false) > > static inline void > locks_free_lock_context(struct inode *inode)
I had sent a patch early last week for this, but then dropped the ball on following up. The simpler fix is to just unconditionally define for_each_file_lock(). It's a macro, so we can just move the "real" definition outside of the #ifdef.
I'll spin up a patch later today and resend it.
Thanks, -- Jeff Layton <jlayton@kernel.org>
| |