Hi Shiyang,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linux/master]
[also build test WARNING on linus/master v5.17-rc1 next-20220127]
[cannot apply to xfs-linux/for-next hnaz-mm/master]
[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/Shiyang-Ruan/fsdax-introduce-fs-query-to-support-reflink/20220127-204239
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
2c271fe77d52a0555161926c232cd5bc07178b39
config: powerpc-allnoconfig 
(https://download.01.org/0day-ci/archive/20220128/202201280035.a565czyv-...@intel.com/config)
compiler: powerpc-linux-gcc (GCC) 11.2.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/57669ed05e93b37d995c5247eebe218ab2058c9a
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Shiyang-Ruan/fsdax-introduce-fs-query-to-support-reflink/20220127-204239
        git checkout 57669ed05e93b37d995c5247eebe218ab2058c9a
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross 
O=build_dir ARCH=powerpc SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>

All warnings (new ones prefixed by >>):

   In file included from mm/filemap.c:15:
>> include/linux/dax.h:73:30: warning: 'struct dax_holder_operations' declared 
>> inside parameter list will not be visible outside of this definition or 
>> declaration
      73 |                 const struct dax_holder_operations *ops)
         |                              ^~~~~~~~~~~~~~~~~~~~~


vim +73 include/linux/dax.h

    48  
    49  void dax_register_holder(struct dax_device *dax_dev, void *holder,
    50                  const struct dax_holder_operations *ops);
    51  void dax_unregister_holder(struct dax_device *dax_dev);
    52  void *dax_get_holder(struct dax_device *dax_dev);
    53  void put_dax(struct dax_device *dax_dev);
    54  void kill_dax(struct dax_device *dax_dev);
    55  void dax_write_cache(struct dax_device *dax_dev, bool wc);
    56  bool dax_write_cache_enabled(struct dax_device *dax_dev);
    57  bool dax_synchronous(struct dax_device *dax_dev);
    58  void set_dax_synchronous(struct dax_device *dax_dev);
    59  /*
    60   * Check if given mapping is supported by the file / underlying device.
    61   */
    62  static inline bool daxdev_mapping_supported(struct vm_area_struct *vma,
    63                                               struct dax_device *dax_dev)
    64  {
    65          if (!(vma->vm_flags & VM_SYNC))
    66                  return true;
    67          if (!IS_DAX(file_inode(vma->vm_file)))
    68                  return false;
    69          return dax_synchronous(dax_dev);
    70  }
    71  #else
    72  static inline void dax_register_holder(struct dax_device *dax_dev, void 
*holder,
  > 73                  const struct dax_holder_operations *ops)
    74  {
    75  }
    76  static inline void dax_unregister_holder(struct dax_device *dax_dev)
    77  {
    78  }
    79  static inline void *dax_get_holder(struct dax_device *dax_dev)
    80  {
    81          return NULL;
    82  }
    83  static inline struct dax_device *alloc_dax(void *private,
    84                  const struct dax_operations *ops)
    85  {
    86          /*
    87           * Callers should check IS_ENABLED(CONFIG_DAX) to know if this
    88           * NULL is an error or expected.
    89           */
    90          return NULL;
    91  }
    92  static inline void put_dax(struct dax_device *dax_dev)
    93  {
    94  }
    95  static inline void kill_dax(struct dax_device *dax_dev)
    96  {
    97  }
    98  static inline void dax_write_cache(struct dax_device *dax_dev, bool wc)
    99  {
   100  }
   101  static inline bool dax_write_cache_enabled(struct dax_device *dax_dev)
   102  {
   103          return false;
   104  }
   105  static inline bool dax_synchronous(struct dax_device *dax_dev)
   106  {
   107          return true;
   108  }
   109  static inline void set_dax_synchronous(struct dax_device *dax_dev)
   110  {
   111  }
   112  static inline bool daxdev_mapping_supported(struct vm_area_struct *vma,
   113                                  struct dax_device *dax_dev)
   114  {
   115          return !(vma->vm_flags & VM_SYNC);
   116  }
   117  #endif
   118  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Reply via email to