Message ID | 20210804160612.3575505-5-krisman@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | File system wide monitoring | expand |
Hi Gabriel, I love your patch! Yet something to improve: [auto build test ERROR on ext3/fsnotify] [also build test ERROR on ext4/dev ext3/for_next linus/master v5.14-rc4 next-20210804] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Gabriel-Krisman-Bertazi/File-system-wide-monitoring/20210805-001201 base: https://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git fsnotify config: powerpc-ppc64_defconfig (attached as .config) compiler: powerpc-linux-gcc (GCC) 10.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/e5294af07c565333b5efb87d6b431d7d601a1043 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Gabriel-Krisman-Bertazi/File-system-wide-monitoring/20210805-001201 git checkout e5294af07c565333b5efb87d6b431d7d601a1043 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): In file included from include/linux/fsnotify.h:15, from arch/powerpc/platforms/cell/spufs/inode.c:15: include/linux/fsnotify_backend.h:367:27: error: 'FSNOTIFY_MARK_FLAG_ATTACHED' defined but not used [-Werror=unused-const-variable=] 367 | static const unsigned int FSNOTIFY_MARK_FLAG_##flag = \ | ^~~~~~~~~~~~~~~~~~~ include/linux/fsnotify_backend.h:379:1: note: in expansion of macro 'FSNOTIFY_MARK_FLAG' 379 | FSNOTIFY_MARK_FLAG(ATTACHED); | ^~~~~~~~~~~~~~~~~~ include/linux/fsnotify_backend.h:367:27: error: 'FSNOTIFY_MARK_FLAG_ALIVE' defined but not used [-Werror=unused-const-variable=] 367 | static const unsigned int FSNOTIFY_MARK_FLAG_##flag = \ | ^~~~~~~~~~~~~~~~~~~ include/linux/fsnotify_backend.h:378:1: note: in expansion of macro 'FSNOTIFY_MARK_FLAG' 378 | FSNOTIFY_MARK_FLAG(ALIVE); | ^~~~~~~~~~~~~~~~~~ >> include/linux/fsnotify_backend.h:367:27: error: 'FSNOTIFY_MARK_FLAG_IGNORED_SURV_MODIFY' defined but not used [-Werror=unused-const-variable=] 367 | static const unsigned int FSNOTIFY_MARK_FLAG_##flag = \ | ^~~~~~~~~~~~~~~~~~~ include/linux/fsnotify_backend.h:377:1: note: in expansion of macro 'FSNOTIFY_MARK_FLAG' 377 | FSNOTIFY_MARK_FLAG(IGNORED_SURV_MODIFY); | ^~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors vim +/FSNOTIFY_MARK_FLAG_IGNORED_SURV_MODIFY +367 include/linux/fsnotify_backend.h 365 366 #define FSNOTIFY_MARK_FLAG(flag) \ > 367 static const unsigned int FSNOTIFY_MARK_FLAG_##flag = \ 368 (1 << FSN_MARK_FL_BIT_##flag) 369 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
On Wed 04-08-21 12:05:53, Gabriel Krisman Bertazi wrote: > Split out the final bits of struct fsnotify_mark->flags for use by a > backend. > > Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com> > --- > include/linux/fsnotify_backend.h | 19 ++++++++++++++++--- > 1 file changed, 16 insertions(+), 3 deletions(-) > > diff --git a/include/linux/fsnotify_backend.h b/include/linux/fsnotify_backend.h > index 1ce66748a2d2..9d5586445c65 100644 > --- a/include/linux/fsnotify_backend.h > +++ b/include/linux/fsnotify_backend.h > @@ -363,6 +363,21 @@ struct fsnotify_mark_connector { > struct hlist_head list; > }; > > +#define FSNOTIFY_MARK_FLAG(flag) \ > +static const unsigned int FSNOTIFY_MARK_FLAG_##flag = \ > + (1 << FSN_MARK_FL_BIT_##flag) Static variable declaration in a header file makes me a bit uneasy. I know it is const so a compiler should optimize this to a constant but still there will likely be some side-effects (see the 0-day warning). Honestly, given these are just three flags I'd just don't overengineer this and have: #define FSNOTIFY_MARK_FLAG_IGNORED_SURV_MODIFY \ (1 << FSN_MARK_FL_BIT_IGNORED_SURV_MODIFY) ... Honza
diff --git a/include/linux/fsnotify_backend.h b/include/linux/fsnotify_backend.h index 1ce66748a2d2..9d5586445c65 100644 --- a/include/linux/fsnotify_backend.h +++ b/include/linux/fsnotify_backend.h @@ -363,6 +363,21 @@ struct fsnotify_mark_connector { struct hlist_head list; }; +#define FSNOTIFY_MARK_FLAG(flag) \ +static const unsigned int FSNOTIFY_MARK_FLAG_##flag = \ + (1 << FSN_MARK_FL_BIT_##flag) + +enum fsnotify_mark_bits { + FSN_MARK_FL_BIT_IGNORED_SURV_MODIFY, + FSN_MARK_FL_BIT_ALIVE, + FSN_MARK_FL_BIT_ATTACHED, + FSN_MARK_PRIVATE_FLAGS, +}; + +FSNOTIFY_MARK_FLAG(IGNORED_SURV_MODIFY); +FSNOTIFY_MARK_FLAG(ALIVE); +FSNOTIFY_MARK_FLAG(ATTACHED); + /* * A mark is simply an object attached to an in core inode which allows an * fsnotify listener to indicate they are either no longer interested in events @@ -398,9 +413,7 @@ struct fsnotify_mark { struct fsnotify_mark_connector *connector; /* Events types to ignore [mark->lock, group->mark_mutex] */ __u32 ignored_mask; -#define FSNOTIFY_MARK_FLAG_IGNORED_SURV_MODIFY 0x01 -#define FSNOTIFY_MARK_FLAG_ALIVE 0x02 -#define FSNOTIFY_MARK_FLAG_ATTACHED 0x04 + /* Upper bits [31:PRIVATE_FLAGS] are reserved for backend usage */ unsigned int flags; /* flags [mark->lock] */ };
Split out the final bits of struct fsnotify_mark->flags for use by a backend. Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com> --- include/linux/fsnotify_backend.h | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-)