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: csky-randconfig-r014-20210604 (attached as .config)
compiler: csky-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/8fc6cb02d396487fa3a77fb57f23dcdc978dd3e3
        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 8fc6cb02d396487fa3a77fb57f23dcdc978dd3e3
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross 
ARCH=csky 

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

All errors (new ones prefixed by >>):

   fs/xfs/xfs_super.c: In function 'xfs_open_devices':
>> fs/xfs/xfs_super.c:400:2: error: implicit declaration of function 
>> 'dax_set_holder'; did you mean 'xas_set_order'? 
>> [-Werror=implicit-function-declaration]
     400 |  dax_set_holder(dax_ddev, mp->m_super, &fs_dax_holder_ops);
         |  ^~~~~~~~~~~~~~
         |  xas_set_order
   cc1: some warnings being treated as errors


vim +400 fs/xfs/xfs_super.c

   379  
   380  /*
   381   * The file system configurations are:
   382   *      (1) device (partition) with data and internal log
   383   *      (2) logical volume with data and log subvolumes.
   384   *      (3) logical volume with data, log, and realtime subvolumes.
   385   *
   386   * We only have to handle opening the log and realtime volumes here if
   387   * they are present.  The data subvolume has already been opened by
   388   * get_sb_bdev() and is stored in sb->s_bdev.
   389   */
   390  STATIC int
   391  xfs_open_devices(
   392          struct xfs_mount        *mp)
   393  {
   394          struct block_device     *ddev = mp->m_super->s_bdev;
   395          struct dax_device       *dax_ddev = fs_dax_get_by_bdev(ddev);
   396          struct dax_device       *dax_logdev = NULL, *dax_rtdev = NULL;
   397          struct block_device     *logdev = NULL, *rtdev = NULL;
   398          int                     error;
   399  
 > 400          dax_set_holder(dax_ddev, mp->m_super, &fs_dax_holder_ops);
   401          /*
   402           * Open real time and log devices - order is important.
   403           */
   404          if (mp->m_logname) {
   405                  error = xfs_blkdev_get(mp, mp->m_logname, &logdev);
   406                  if (error)
   407                          goto out;
   408                  dax_logdev = fs_dax_get_by_bdev(logdev);
   409                  if (dax_logdev != dax_ddev)
   410                          dax_set_holder(dax_logdev, mp->m_super,
   411                                         &fs_dax_holder_ops);
   412          }
   413  
   414          if (mp->m_rtname) {
   415                  error = xfs_blkdev_get(mp, mp->m_rtname, &rtdev);
   416                  if (error)
   417                          goto out_close_logdev;
   418  
   419                  if (rtdev == ddev || rtdev == logdev) {
   420                          xfs_warn(mp,
   421          "Cannot mount filesystem with identical rtdev and 
ddev/logdev.");
   422                          error = -EINVAL;
   423                          goto out_close_rtdev;
   424                  }
   425                  dax_rtdev = fs_dax_get_by_bdev(rtdev);
   426                  dax_set_holder(dax_rtdev, mp->m_super, 
&fs_dax_holder_ops);
   427          }
   428  
   429          /*
   430           * Setup xfs_mount buffer target pointers
   431           */
   432          error = -ENOMEM;
   433          mp->m_ddev_targp = xfs_alloc_buftarg(mp, ddev, dax_ddev);
   434          if (!mp->m_ddev_targp)
   435                  goto out_close_rtdev;
   436  
   437          if (rtdev) {
   438                  mp->m_rtdev_targp = xfs_alloc_buftarg(mp, rtdev, 
dax_rtdev);
   439                  if (!mp->m_rtdev_targp)
   440                          goto out_free_ddev_targ;
   441          }
   442  
   443          if (logdev && logdev != ddev) {
   444                  mp->m_logdev_targp = xfs_alloc_buftarg(mp, logdev, 
dax_logdev);
   445                  if (!mp->m_logdev_targp)
   446                          goto out_free_rtdev_targ;
   447          } else {
   448                  mp->m_logdev_targp = mp->m_ddev_targp;
   449          }
   450  
   451          return 0;
   452  
   453   out_free_rtdev_targ:
   454          if (mp->m_rtdev_targp)
   455                  xfs_free_buftarg(mp->m_rtdev_targp);
   456   out_free_ddev_targ:
   457          xfs_free_buftarg(mp->m_ddev_targp);
   458   out_close_rtdev:
   459          xfs_blkdev_put(rtdev);
   460          fs_put_dax(dax_rtdev);
   461   out_close_logdev:
   462          if (logdev && logdev != ddev) {
   463                  xfs_blkdev_put(logdev);
   464                  fs_put_dax(dax_logdev);
   465          }
   466   out:
   467          fs_put_dax(dax_ddev);
   468          return error;
   469  }
   470  

---
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