From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============8372823179703537376==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: Re: [PATCH v4 3/7] dm: make dm aware of target's DAXDEV_RECOVERY capability Date: Thu, 27 Jan 2022 09:00:41 +0800 Message-ID: <202201270825.tnq9gZBS-lkp@intel.com> In-Reply-To: <20220126211116.860012-4-jane.chu@oracle.com> List-Id: --===============8372823179703537376== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Jane, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on nvdimm/libnvdimm-for-next] [also build test WARNING on linus/master v5.17-rc1 next-20220125] [cannot apply to device-mapper-dm/for-next tip/x86/core] [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/Jane-Chu/DAX-poison-recove= ry/20220127-051422 base: https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git l= ibnvdimm-for-next config: sparc-randconfig-r016-20220124 (https://download.01.org/0day-ci/arc= hive/20220127/202201270825.tnq9gZBS-lkp(a)intel.com/config) compiler: sparc-linux-gcc (GCC) 11.2.0 reproduce (this is a W=3D1 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/d0d9fe574c3407067bc83410d= 0eaf8a89e21454c git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Jane-Chu/DAX-poison-recovery/20220= 127-051422 git checkout d0d9fe574c3407067bc83410d0eaf8a89e21454c # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dgcc-11.2.0 make.cross= O=3Dbuild_dir ARCH=3Dsparc SHELL=3D/bin/bash drivers/md/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): In file included from drivers/md/dm-table.c:24: include/linux/dax.h:93:1: error: expected identifier or '(' before '{' t= oken 93 | { | ^ >> include/linux/dax.h:92:20: warning: 'set_dax_recovery' used but never de= fined 92 | static inline void set_dax_recovery(struct dax_device *dax_dev); | ^~~~~~~~~~~~~~~~ vim +/set_dax_recovery +92 include/linux/dax.h a254e568128804 Christoph Hellwig 2016-09-19 34 = f5705aa8cfed14 Dan Williams 2017-05-13 35 #if IS_ENABLED(CONFIG_DAX) 30c6828a17a572 Christoph Hellwig 2021-12-15 36 struct dax_device *alloc_= dax(void *private, const struct dax_operations *ops); f5705aa8cfed14 Dan Williams 2017-05-13 37 void put_dax(struct dax_d= evice *dax_dev); 976431b02c2ef9 Dan Williams 2018-03-29 38 void kill_dax(struct dax_= device *dax_dev); 976431b02c2ef9 Dan Williams 2018-03-29 39 void dax_write_cache(stru= ct dax_device *dax_dev, bool wc); 976431b02c2ef9 Dan Williams 2018-03-29 40 bool dax_write_cache_enab= led(struct dax_device *dax_dev); fd1d00ec92002d Christoph Hellwig 2021-12-15 41 bool dax_synchronous(stru= ct dax_device *dax_dev); fd1d00ec92002d Christoph Hellwig 2021-12-15 42 void set_dax_synchronous(= struct dax_device *dax_dev); bd070965ec17cd Jane Chu 2022-01-26 43 void set_dax_recovery(str= uct dax_device *dax_dev); bd070965ec17cd Jane Chu 2022-01-26 44 bool dax_recovery_capable= (struct dax_device *dax_dev); 32de1484648a83 Pankaj Gupta 2019-07-05 45 /* 32de1484648a83 Pankaj Gupta 2019-07-05 46 * Check if given mapping= is supported by the file / underlying device. 32de1484648a83 Pankaj Gupta 2019-07-05 47 */ 32de1484648a83 Pankaj Gupta 2019-07-05 48 static inline bool daxdev= _mapping_supported(struct vm_area_struct *vma, 32de1484648a83 Pankaj Gupta 2019-07-05 49 struct dax_devi= ce *dax_dev) 32de1484648a83 Pankaj Gupta 2019-07-05 50 { 32de1484648a83 Pankaj Gupta 2019-07-05 51 if (!(vma->vm_flags & VM= _SYNC)) 32de1484648a83 Pankaj Gupta 2019-07-05 52 return true; 32de1484648a83 Pankaj Gupta 2019-07-05 53 if (!IS_DAX(file_inode(v= ma->vm_file))) 32de1484648a83 Pankaj Gupta 2019-07-05 54 return false; 32de1484648a83 Pankaj Gupta 2019-07-05 55 return dax_synchronous(d= ax_dev); 32de1484648a83 Pankaj Gupta 2019-07-05 56 } f5705aa8cfed14 Dan Williams 2017-05-13 57 #else fb08a1908cb119 Christoph Hellwig 2021-11-29 58 static inline struct dax_= device *alloc_dax(void *private, 30c6828a17a572 Christoph Hellwig 2021-12-15 59 const struct dax_operat= ions *ops) 976431b02c2ef9 Dan Williams 2018-03-29 60 { 976431b02c2ef9 Dan Williams 2018-03-29 61 /* 976431b02c2ef9 Dan Williams 2018-03-29 62 * Callers should check = IS_ENABLED(CONFIG_DAX) to know if this 976431b02c2ef9 Dan Williams 2018-03-29 63 * NULL is an error or e= xpected. 976431b02c2ef9 Dan Williams 2018-03-29 64 */ 976431b02c2ef9 Dan Williams 2018-03-29 65 return NULL; 976431b02c2ef9 Dan Williams 2018-03-29 66 } f5705aa8cfed14 Dan Williams 2017-05-13 67 static inline void put_da= x(struct dax_device *dax_dev) f5705aa8cfed14 Dan Williams 2017-05-13 68 { f5705aa8cfed14 Dan Williams 2017-05-13 69 } 976431b02c2ef9 Dan Williams 2018-03-29 70 static inline void kill_d= ax(struct dax_device *dax_dev) 976431b02c2ef9 Dan Williams 2018-03-29 71 { 976431b02c2ef9 Dan Williams 2018-03-29 72 } 976431b02c2ef9 Dan Williams 2018-03-29 73 static inline void dax_wr= ite_cache(struct dax_device *dax_dev, bool wc) 976431b02c2ef9 Dan Williams 2018-03-29 74 { 976431b02c2ef9 Dan Williams 2018-03-29 75 } 976431b02c2ef9 Dan Williams 2018-03-29 76 static inline bool dax_wr= ite_cache_enabled(struct dax_device *dax_dev) 976431b02c2ef9 Dan Williams 2018-03-29 77 { 976431b02c2ef9 Dan Williams 2018-03-29 78 return false; 976431b02c2ef9 Dan Williams 2018-03-29 79 } fefc1d97fa4b5e Pankaj Gupta 2019-07-05 80 static inline bool dax_sy= nchronous(struct dax_device *dax_dev) fefc1d97fa4b5e Pankaj Gupta 2019-07-05 81 { fefc1d97fa4b5e Pankaj Gupta 2019-07-05 82 return true; fefc1d97fa4b5e Pankaj Gupta 2019-07-05 83 } fefc1d97fa4b5e Pankaj Gupta 2019-07-05 84 static inline void set_da= x_synchronous(struct dax_device *dax_dev) fefc1d97fa4b5e Pankaj Gupta 2019-07-05 85 { fefc1d97fa4b5e Pankaj Gupta 2019-07-05 86 } 32de1484648a83 Pankaj Gupta 2019-07-05 87 static inline bool daxdev= _mapping_supported(struct vm_area_struct *vma, 32de1484648a83 Pankaj Gupta 2019-07-05 88 struct dax_device *da= x_dev) 32de1484648a83 Pankaj Gupta 2019-07-05 89 { 32de1484648a83 Pankaj Gupta 2019-07-05 90 return !(vma->vm_flags &= VM_SYNC); 32de1484648a83 Pankaj Gupta 2019-07-05 91 } bd070965ec17cd Jane Chu 2022-01-26 @92 static inline void set_da= x_recovery(struct dax_device *dax_dev); bd070965ec17cd Jane Chu 2022-01-26 93 { bd070965ec17cd Jane Chu 2022-01-26 94 } bd070965ec17cd Jane Chu 2022-01-26 95 static inline bool dax_re= covery_capable(struct dax_device *dax_dev) bd070965ec17cd Jane Chu 2022-01-26 96 { bd070965ec17cd Jane Chu 2022-01-26 97 return false; bd070965ec17cd Jane Chu 2022-01-26 98 } f5705aa8cfed14 Dan Williams 2017-05-13 99 #endif f5705aa8cfed14 Dan Williams 2017-05-13 100 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============8372823179703537376==--