Hi Darrick,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.16-rc3 next-20180228]
[cannot apply to dgc-xfs/for-next]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Dave-Jiang/minimal-DAX-support-for-XFS-realtime-device/20180218-154220
config: i386-randconfig-c0-03010621 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

>> drivers/dax/super.c:86:5: error: redefinition of 'bdev_dax_supported'
    int bdev_dax_supported(struct super_block *sb, struct block_device *bdev,
        ^~~~~~~~~~~~~~~~~~
   In file included from drivers/dax/super.c:23:0:
   include/linux/dax.h:62:19: note: previous definition of 'bdev_dax_supported' 
was here
    static inline int bdev_dax_supported(struct super_block *sb,
                      ^~~~~~~~~~~~~~~~~~

vim +/bdev_dax_supported +86 drivers/dax/super.c

    74  
    75  /**
    76   * bdev_dax_supported() - Check if the device supports dax for 
filesystem
    77   * @sb: The superblock of the device
    78   * @bdev: block device to check
    79   * @blocksize: The block size of the device
    80   *
    81   * This is a library function for filesystems to check if the block 
device
    82   * can be mounted with dax option.
    83   *
    84   * Return: negative errno if unsupported, 0 if supported.
    85   */
  > 86  int bdev_dax_supported(struct super_block *sb, struct block_device 
*bdev,
    87                         int blocksize)
    88  {
    89          struct dax_device *dax_dev;
    90          pgoff_t pgoff;
    91          int err, id;
    92          void *kaddr;
    93          pfn_t pfn;
    94          long len;
    95  
    96          if (blocksize != PAGE_SIZE) {
    97                  pr_debug("VFS (%s): error: unsupported blocksize for 
dax\n",
    98                                  sb->s_id);
    99                  return -EINVAL;
   100          }
   101  
   102          err = bdev_dax_pgoff(bdev, 0, PAGE_SIZE, &pgoff);
   103          if (err) {
   104                  pr_debug("VFS (%s): error: unaligned partition for 
dax\n",
   105                                  sb->s_id);
   106                  return err;
   107          }
   108  
   109          dax_dev = dax_get_by_host(bdev->bd_disk->disk_name);
   110          if (!dax_dev) {
   111                  pr_debug("VFS (%s): error: device does not support 
dax\n",
   112                                  sb->s_id);
   113                  return -EOPNOTSUPP;
   114          }
   115  
   116          id = dax_read_lock();
   117          len = dax_direct_access(dax_dev, pgoff, 1, &kaddr, &pfn);
   118          dax_read_unlock(id);
   119  
   120          put_dax(dax_dev);
   121  
   122          if (len < 1) {
   123                  pr_debug("VFS (%s): error: dax access failed (%ld)\n",
   124                                  sb->s_id, len);
   125                  return len < 0 ? len : -EIO;
   126          }
   127  
   128          if ((IS_ENABLED(CONFIG_FS_DAX_LIMITED) && pfn_t_special(pfn))
   129                          || pfn_t_devmap(pfn))
   130                  /* pass */;
   131          else {
   132                  pr_debug("VFS (%s): error: dax support not enabled\n",
   133                                  sb->s_id);
   134                  return -EOPNOTSUPP;
   135          }
   136  
   137          return 0;
   138  }
   139  EXPORT_SYMBOL_GPL(bdev_dax_supported);
   140  #endif
   141  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to