Hi Shiyang,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on xfs-linux/for-next]
[also build test ERROR on dm/for-next linus/master v5.13-rc4]
[cannot apply to hnaz-linux-mm/master next-20210603]
[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/20210604-092105
base:   https://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git for-next
config: h8300-randconfig-r021-20210604 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.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/94db8a17905296e4d5bfe93eb5199f477646622a
        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/20210604-092105
        git checkout 94db8a17905296e4d5bfe93eb5199f477646622a
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross 
ARCH=h8300 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>

All error/warnings (new ones prefixed by >>):

   drivers/md/dm.c: In function 'open_table_device':
>> drivers/md/dm.c:784:12: error: implicit declaration of function 
>> 'dax_get_holder'; did you mean 'xa_get_order'? 
>> [-Werror=implicit-function-declaration]
     784 |  holders = dax_get_holder(td->dm_dev.dax_dev);
         |            ^~~~~~~~~~~~~~
         |            xa_get_order
>> drivers/md/dm.c:784:10: warning: assignment to 'struct list_head *' from 
>> 'int' makes pointer from integer without a cast [-Wint-conversion]
     784 |  holders = dax_get_holder(td->dm_dev.dax_dev);
         |          ^
>> drivers/md/dm.c:788:3: error: implicit declaration of function 
>> 'dax_set_holder'; did you mean 'xas_set_order'? 
>> [-Werror=implicit-function-declaration]
     788 |   dax_set_holder(td->dm_dev.dax_dev, holders, &dm_dax_holder_ops);
         |   ^~~~~~~~~~~~~~
         |   xas_set_order
   drivers/md/dm.c: In function 'close_table_device':
   drivers/md/dm.c:808:10: warning: assignment to 'struct list_head *' from 
'int' makes pointer from integer without a cast [-Wint-conversion]
     808 |  holders = dax_get_holder(td->dm_dev.dax_dev);
         |          ^
   drivers/md/dm.c: In function 'dm_dax_corrputed_range':
>> drivers/md/dm.c:1339:30: warning: initialization of 'struct list_head *' 
>> from 'int' makes pointer from integer without a cast [-Wint-conversion]
    1339 |  struct list_head *holders = dax_get_holder(dax_dev);
         |                              ^~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +784 drivers/md/dm.c

   750  
   751  static char *_dm_claim_ptr = "I belong to device-mapper";
   752  static const struct dax_holder_operations dm_dax_holder_ops;
   753  struct dm_holder {
   754          struct list_head list;
   755          struct mapped_device *md;
   756  };
   757  /*
   758   * Open a table device so we can use it as a map destination.
   759   */
   760  static int open_table_device(struct table_device *td, dev_t dev,
   761                               struct mapped_device *md)
   762  {
   763          struct block_device *bdev;
   764          struct list_head *holders;
   765          struct dm_holder *holder;
   766  
   767          int r;
   768  
   769          BUG_ON(td->dm_dev.bdev);
   770  
   771          bdev = blkdev_get_by_dev(dev, td->dm_dev.mode | FMODE_EXCL, 
_dm_claim_ptr);
   772          if (IS_ERR(bdev))
   773                  return PTR_ERR(bdev);
   774  
   775          r = bd_link_disk_holder(bdev, dm_disk(md));
   776          if (r) {
   777                  blkdev_put(bdev, td->dm_dev.mode | FMODE_EXCL);
   778                  return r;
   779          }
   780  
   781          td->dm_dev.bdev = bdev;
   782          td->dm_dev.dax_dev = dax_get_by_host(bdev->bd_disk->disk_name);
   783  
 > 784          holders = dax_get_holder(td->dm_dev.dax_dev);
   785          if (!holders) {
   786                  holders = kmalloc(sizeof(*holders), GFP_KERNEL);
   787                  INIT_LIST_HEAD(holders);
 > 788                  dax_set_holder(td->dm_dev.dax_dev, holders, 
 > &dm_dax_holder_ops);
   789          }
   790          holder = kmalloc(sizeof(*holder), GFP_KERNEL);
   791          holder->md = md;
   792          list_add_tail(&holder->list, holders);
   793  
   794          return 0;
   795  }
   796  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

--
dm-devel mailing list
[email protected]
https://listman.redhat.com/mailman/listinfo/dm-devel

Reply via email to