Re: [PATCH v4 5/8] powerpc/pmem/of_pmem: Update of_pmem to use the new barrier instruction.

2020-05-31 Thread kbuild test robot
Hi "Aneesh,

I love your patch! Yet something to improve:

[auto build test ERROR on powerpc/next]
[also build test ERROR on linux-nvdimm/libnvdimm-for-next scottwood/next 
v5.7-rc7]
[cannot apply to next-20200529]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:
https://github.com/0day-ci/linux/commits/Aneesh-Kumar-K-V/Support-new-pmem-flush-and-sync-instructions-for-POWER/20200531-062841
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-ppc6xx_defconfig (attached as .config)
compiler: powerpc-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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross 
ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot 

All errors (new ones prefixed by >>, old ones prefixed by <<):

In file included from arch/powerpc/include/asm/asm-prototypes.h:12,
from arch/powerpc/kernel/early_32.c:11:
arch/powerpc/include/asm/cacheflush.h: In function 'arch_pmem_flush_barrier':
arch/powerpc/include/asm/cacheflush.h:126:6: error: implicit declaration of 
function 'cpu_has_feature'; did you mean 'mmu_has_feature'? 
[-Werror=implicit-function-declaration]
126 |  if (cpu_has_feature(CPU_FTR_ARCH_207S))
|  ^~~
|  mmu_has_feature
In file included from arch/powerpc/include/asm/cputhreads.h:7,
from arch/powerpc/include/asm/mmu_context.h:12,
from arch/powerpc/include/asm/asm-prototypes.h:17,
from arch/powerpc/kernel/early_32.c:11:
arch/powerpc/include/asm/cpu_has_feature.h: At top level:
>> arch/powerpc/include/asm/cpu_has_feature.h:49:20: error: conflicting types 
>> for 'cpu_has_feature'
49 | static inline bool cpu_has_feature(unsigned long feature)
|^~~
In file included from arch/powerpc/include/asm/asm-prototypes.h:12,
from arch/powerpc/kernel/early_32.c:11:
arch/powerpc/include/asm/cacheflush.h:126:6: note: previous implicit 
declaration of 'cpu_has_feature' was here
126 |  if (cpu_has_feature(CPU_FTR_ARCH_207S))
|  ^~~
cc1: all warnings being treated as errors

vim +/cpu_has_feature +49 arch/powerpc/include/asm/cpu_has_feature.h

c812c7d8f1470a Aneesh Kumar K.V 2016-07-23  38  
4db7327194dba0 Kevin Hao2016-07-23  39  if (CPU_FTRS_ALWAYS & 
feature)
4db7327194dba0 Kevin Hao2016-07-23  40  return true;
4db7327194dba0 Kevin Hao2016-07-23  41  
4db7327194dba0 Kevin Hao2016-07-23  42  if (!(CPU_FTRS_POSSIBLE 
& feature))
4db7327194dba0 Kevin Hao2016-07-23  43  return false;
4db7327194dba0 Kevin Hao2016-07-23  44  
4db7327194dba0 Kevin Hao2016-07-23  45  i = 
__builtin_ctzl(feature);
4db7327194dba0 Kevin Hao2016-07-23  46  return 
static_branch_likely(_feature_keys[i]);
4db7327194dba0 Kevin Hao2016-07-23  47  }
4db7327194dba0 Kevin Hao2016-07-23  48  #else
b92a226e528423 Kevin Hao2016-07-23 @49  static inline bool 
cpu_has_feature(unsigned long feature)
b92a226e528423 Kevin Hao2016-07-23  50  {
b92a226e528423 Kevin Hao2016-07-23  51  return 
early_cpu_has_feature(feature);
b92a226e528423 Kevin Hao2016-07-23  52  }
4db7327194dba0 Kevin Hao2016-07-23  53  #endif
b92a226e528423 Kevin Hao2016-07-23  54  

:: The code at line 49 was first introduced by commit
:: b92a226e528423b8d249dd09bb450d53361fbfcb powerpc: Move cpu_has_feature() 
to a separate file

:: TO: Kevin Hao 
:: CC: Michael Ellerman 

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
___
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-le...@lists.01.org


Re: [PATCH v3 5/7] powerpc/pmem/of_pmem: Update of_pmem to use the new barrier instruction.

2020-05-29 Thread kbuild test robot
Hi "Aneesh,

I love your patch! Yet something to improve:

[auto build test ERROR on powerpc/next]
[also build test ERROR on v5.7-rc7]
[cannot apply to next-20200529]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:
https://github.com/0day-ci/linux/commits/Aneesh-Kumar-K-V/powerpc-pmem-Restrict-papr_scm-to-P8-and-above/20200519-195350
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-randconfig-r016-20200529 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 
2d068e534f1671459e1b135852c1b3c10502e929)
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
# install powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot 

All errors (new ones prefixed by >>, old ones prefixed by <<):

In file included from arch/powerpc/kernel/syscall_64.c:4:
In file included from arch/powerpc/include/asm/asm-prototypes.h:12:
>> arch/powerpc/include/asm/cacheflush.h:126:6: error: implicit declaration of 
>> function 'cpu_has_feature' [-Werror,-Wimplicit-function-declaration]
if (cpu_has_feature(CPU_FTR_ARCH_207S))
^
arch/powerpc/include/asm/cacheflush.h:126:6: note: did you mean 
'mmu_has_feature'?
arch/powerpc/include/asm/mmu.h:234:20: note: 'mmu_has_feature' declared here
static inline bool mmu_has_feature(unsigned long feature)
^
In file included from arch/powerpc/kernel/syscall_64.c:4:
In file included from arch/powerpc/include/asm/asm-prototypes.h:17:
In file included from arch/powerpc/include/asm/mmu_context.h:12:
In file included from arch/powerpc/include/asm/cputhreads.h:7:
>> arch/powerpc/include/asm/cpu_has_feature.h:49:20: error: static declaration 
>> of 'cpu_has_feature' follows non-static declaration
static inline bool cpu_has_feature(unsigned long feature)
^
arch/powerpc/include/asm/cacheflush.h:126:6: note: previous implicit 
declaration is here
if (cpu_has_feature(CPU_FTR_ARCH_207S))
^
2 errors generated.
--
In file included from arch/powerpc/kernel/kprobes.c:23:
>> arch/powerpc/include/asm/cacheflush.h:126:6: error: implicit declaration of 
>> function 'cpu_has_feature' [-Werror,-Wimplicit-function-declaration]
if (cpu_has_feature(CPU_FTR_ARCH_207S))
^
arch/powerpc/include/asm/cacheflush.h:126:6: note: did you mean 
'mmu_has_feature'?
arch/powerpc/include/asm/mmu.h:234:20: note: 'mmu_has_feature' declared here
static inline bool mmu_has_feature(unsigned long feature)
^
1 error generated.
--
In file included from arch/powerpc/kernel/optprobes.c:15:
>> arch/powerpc/include/asm/cacheflush.h:126:6: error: implicit declaration of 
>> function 'cpu_has_feature' [-Werror,-Wimplicit-function-declaration]
if (cpu_has_feature(CPU_FTR_ARCH_207S))
^
arch/powerpc/include/asm/cacheflush.h:126:6: note: did you mean 
'mmu_has_feature'?
arch/powerpc/include/asm/mmu.h:234:20: note: 'mmu_has_feature' declared here
static inline bool mmu_has_feature(unsigned long feature)
^
arch/powerpc/kernel/optprobes.c:149:6: warning: no previous prototype for 
function 'patch_imm32_load_insns' [-Wmissing-prototypes]
void patch_imm32_load_insns(unsigned int val, kprobe_opcode_t *addr)
^
arch/powerpc/kernel/optprobes.c:149:1: note: declare 'static' if the function 
is not intended to be used outside of this translation unit
void patch_imm32_load_insns(unsigned int val, kprobe_opcode_t *addr)
^
static
arch/powerpc/kernel/optprobes.c:167:6: warning: no previous prototype for 
function 'patch_imm64_load_insns' [-Wmissing-prototypes]
void patch_imm64_load_insns(unsigned long val, int reg, kprobe_opcode_t *addr)
^
arch/powerpc/kernel/optprobes.c:167:1: note: declare 'static' if the function 
is not intended to be used outside of this translation unit
void patch_imm64_load_insns(unsigned long val, int reg, kprobe_opcode_t *addr)
^
static
2 warnings and 1 error generated.
--
In file included from arch/powerpc/kernel/epapr_paravirt.c:11:
>> arch/powerpc/include/asm/cacheflush.h:126:6: error: implicit declaration of 
>> function 'cpu_has_feature' [-Werror,-Wimplicit-function-declaration]
if (cpu_has_feature(CPU_FTR_ARCH_207S))
^
arch/powerpc/include/asm/cacheflush.h:126:6: note: did you mean 
'mmu_has_feature'?
arch/powerpc/include/asm/mmu.h:234:20: note: 'mmu_has_feature' declared here
static inline bool mmu_has_feature(unsigned long feature)
^
In file included from arch/powerpc/kernel/epapr_parav

Re: [PATCH v3 3/7] powerpc/pmem: Add flush routines using new pmem store and sync instruction

2020-05-29 Thread kbuild test robot
Hi "Aneesh,

I love your patch! Yet something to improve:

[auto build test ERROR on powerpc/next]
[also build test ERROR on v5.7-rc7 next-20200529]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:
https://github.com/0day-ci/linux/commits/Aneesh-Kumar-K-V/powerpc-pmem-Restrict-papr_scm-to-P8-and-above/20200519-195350
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-randconfig-r016-20200529 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 
2d068e534f1671459e1b135852c1b3c10502e929)
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
# install powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot 

All errors (new ones prefixed by >>, old ones prefixed by <<):

>> arch/powerpc/lib/pmem.c:44:6: error: implicit declaration of function 
>> 'cpu_has_feature' [-Werror,-Wimplicit-function-declaration]
if (cpu_has_feature(CPU_FTR_ARCH_207S))
^
arch/powerpc/lib/pmem.c:44:6: note: did you mean 'mmu_has_feature'?
arch/powerpc/include/asm/mmu.h:234:20: note: 'mmu_has_feature' declared here
static inline bool mmu_has_feature(unsigned long feature)
^
arch/powerpc/lib/pmem.c:50:6: error: implicit declaration of function 
'cpu_has_feature' [-Werror,-Wimplicit-function-declaration]
if (cpu_has_feature(CPU_FTR_ARCH_207S))
^
arch/powerpc/lib/pmem.c:57:6: warning: no previous prototype for function 
'arch_wb_cache_pmem' [-Wmissing-prototypes]
void arch_wb_cache_pmem(void *addr, size_t size)
^
arch/powerpc/lib/pmem.c:57:1: note: declare 'static' if the function is not 
intended to be used outside of this translation unit
void arch_wb_cache_pmem(void *addr, size_t size)
^
static
arch/powerpc/lib/pmem.c:64:6: warning: no previous prototype for function 
'arch_invalidate_pmem' [-Wmissing-prototypes]
void arch_invalidate_pmem(void *addr, size_t size)
^
arch/powerpc/lib/pmem.c:64:1: note: declare 'static' if the function is not 
intended to be used outside of this translation unit
void arch_invalidate_pmem(void *addr, size_t size)
^
static
2 warnings and 2 errors generated.

vim +/cpu_has_feature +44 arch/powerpc/lib/pmem.c

41  
42  static inline void clean_pmem_range(unsigned long start, unsigned long 
stop)
43  {
  > 44  if (cpu_has_feature(CPU_FTR_ARCH_207S))
45  return __clean_pmem_range(start, stop);
46  }
47  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
___
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-le...@lists.01.org


Re: [PATCH v2 4/5] powerpc/pmem/of_pmem: Update of_pmem to use the new barrier instruction.

2020-05-13 Thread kbuild test robot
Hi "Aneesh,

I love your patch! Yet something to improve:

[auto build test ERROR on powerpc/next]
[also build test ERROR on linux-nvdimm/libnvdimm-for-next v5.7-rc5 
next-20200512]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:
https://github.com/0day-ci/linux/commits/Aneesh-Kumar-K-V/powerpc-pmem-Add-new-instructions-for-persistent-storage-and-sync/20200513-133938
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-storcenter_defconfig (attached as .config)
compiler: powerpc-linux-gcc (GCC) 9.3.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross 
ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot 

All errors (new ones prefixed by >>):

WARNING: unmet direct dependencies detected for PPC_INDIRECT_PCI
Depends on PCI
Selected by
- MPC10X_BRIDGE
In file included from include/linux/highmem.h:12,
from include/linux/pagemap.h:11,
from include/linux/blkdev.h:16,
from include/linux/blk-cgroup.h:23,
from include/linux/writeback.h:14,
from include/linux/memcontrol.h:22,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from arch/powerpc/kernel/asm-offsets.c:23:
arch/powerpc/include/asm/cacheflush.h: In function 'arch_pmem_flush_barrier':
>> arch/powerpc/include/asm/cacheflush.h:126:22: error: 'CPU_FTR_ARCH_31' 
>> undeclared (first use in this function); did you mean
126 | if (cpu_has_feature(CPU_FTR_ARCH_31))
| ^~~
| CPU_FTR_ARCH_300
arch/powerpc/include/asm/cacheflush.h:126:22: note: each undeclared identifier 
is reported only once for each function it appears in
Makefile arch block certs crypto drivers fs include init ipc kernel lib mm net 
scripts security sound source usr virt [scripts/Makefile.build:100: 
arch/powerpc/kernel/asm-offsets.s] Error 1
Target '__build' not remade because of errors.
Makefile arch block certs crypto drivers fs include init ipc kernel lib mm net 
scripts security sound source usr virt [Makefile:1141: prepare0] Error 2
Target 'prepare' not remade because of errors.
make: Makefile arch block certs crypto drivers fs include init ipc kernel lib 
mm net scripts security sound source usr virt [Makefile:180: sub-make] Error 2

vim +/CPU_FTR_ARCH_31 +126 arch/powerpc/include/asm/cacheflush.h

   113  
   114  #define copy_to_user_page(vma, page, vaddr, dst, src, len) \
   115  do { \
   116  memcpy(dst, src, len); \
   117  flush_icache_user_range(vma, page, vaddr, len); \
   118  } while (0)
   119  #define copy_from_user_page(vma, page, vaddr, dst, src, len) \
   120  memcpy(dst, src, len)
   121  
   122  
   123  #define arch_pmem_flush_barrier arch_pmem_flush_barrier
   124  static inline void  arch_pmem_flush_barrier(void)
   125  {
 > 126  if (cpu_has_feature(CPU_FTR_ARCH_31))
   127  asm volatile(PPC_PHWSYNC ::: "memory");
   128  else
   129  asm volatile("hwsync" ::: "memory");
   130  }
   131  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
___
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-le...@lists.01.org


Re: [PATCH 5/5] dax,iomap: Add helper dax_iomap_zero() to zero a range

2020-02-03 Thread kbuild test robot
Hi Vivek,

I love your patch! Yet something to improve:

[auto build test ERROR on dm/for-next]
[also build test ERROR on s390/features xfs-linux/for-next linus/master 
linux-nvdimm/libnvdimm-for-next v5.5 next-20200203]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:
https://github.com/0day-ci/linux/commits/Vivek-Goyal/dax-pmem-Provide-a-dax-operation-to-zero-range-of-memory/20200204-082750
base:   
https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git 
for-next
config: s390-alldefconfig (attached as .config)
compiler: s390-linux-gcc (GCC) 7.5.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=s390 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot 

All errors (new ones prefixed by >>):

>> drivers/s390/block/dcssblk.c:65:21: error: 'dcssblk_dax_zero_page_range' 
>> undeclared here (not in a function); did you mean 
>> 'generic_dax_zero_page_range'?
 .zero_page_range = dcssblk_dax_zero_page_range,
^~~
generic_dax_zero_page_range
   drivers/s390/block/dcssblk.c:945:12: warning: 'dcssblk_dax_zero_page_range' 
defined but not used [-Wunused-function]
static int dcssblk_dax_zero_page_range(struct dax_device *dax_dev,pgoff_t 
pgoff,
   ^~~

vim +65 drivers/s390/block/dcssblk.c

b3a9a0c36e1f7b Dan Williams   2018-05-02  59  
7a2765f6e82063 Dan Williams   2017-01-26  60  static const struct 
dax_operations dcssblk_dax_ops = {
7a2765f6e82063 Dan Williams   2017-01-26  61.direct_access = 
dcssblk_dax_direct_access,
7bf7eac8d64805 Dan Williams   2019-05-16  62.dax_supported = 
generic_fsdax_supported,
5d61e43b3975c0 Dan Williams   2017-06-27  63.copy_from_iter = 
dcssblk_dax_copy_from_iter,
b3a9a0c36e1f7b Dan Williams   2018-05-02  64.copy_to_iter = 
dcssblk_dax_copy_to_iter,
c5cb636194a0d8 Vivek Goyal2020-02-03 @65.zero_page_range = 
dcssblk_dax_zero_page_range,
^1da177e4c3f41 Linus Torvalds 2005-04-16  66  };
^1da177e4c3f41 Linus Torvalds 2005-04-16  67  

:: The code at line 65 was first introduced by commit
:: c5cb636194a0d8d33d549903c92189385db48406 s390,dax: Add dax 
zero_page_range operation to dcssblk driver

:: TO: Vivek Goyal 
:: CC: 0day robot 

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org Intel Corporation
___
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-le...@lists.01.org


Re: [PATCH v2 16/27] nvdimm/ocxl: Implement the Read Error Log command

2019-12-05 Thread kbuild test robot
Hi Alastair,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on v5.4-rc8]
[also build test ERROR on char-misc/char-misc-testing]
[cannot apply to linux-nvdimm/libnvdimm-for-next linus/master next-20191205]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:
https://github.com/0day-ci/linux/commits/Alastair-D-Silva/Add-support-for-OpenCAPI-SCM-devices/20191203-120511
base:af42d3466bdc8f39806b26f593604fdc54140bcb
config: x86_64-randconfig-b001-20191203 (attached as .config)
compiler: gcc-7 (Debian 7.5.0-1) 7.5.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot 

All errors (new ones prefixed by >>):

   In file included from :32:0:
>> ./usr/include/nvdimm/ocxl-scm.h:21:24: error: C++ style comments are not 
>> allowed in ISO C90
 __u32 log_identifier; // out
   ^
>> ./usr/include/nvdimm/ocxl-scm.h:21:24: error: (this will be reported only 
>> once per input file)

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org Intel Corporation
___
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-le...@lists.01.org


Re: [PATCH 16/16] libnvdimm/e820: Retrieve and populate correct 'target_node' info

2019-11-08 Thread kbuild test robot
Hi Dan,

I love your patch! Yet something to improve:

[auto build test ERROR on powerpc/next]
[cannot apply to v5.4-rc6 next-20191108]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:
https://github.com/0day-ci/linux/commits/Dan-Williams/Memory-Hierarchy-Enable-target-node-lookups-for-reserved-memory/20191109-080607
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: x86_64-randconfig-d002-201944 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot 

All errors (new ones prefixed by >>):

   ld: drivers/nvdimm/e820.o: in function `e820_register_one':
>> drivers/nvdimm/e820.c:27: undefined reference to `numa_map_to_online_node'

vim +27 drivers/nvdimm/e820.c

18  
19  static int e820_register_one(struct resource *res, void *data)
20  {
21  struct nd_region_desc ndr_desc;
22  struct nvdimm_bus *nvdimm_bus = data;
23  int nid = memory_add_physaddr_to_target_node(res->start);
24  
25  memset(_desc, 0, sizeof(ndr_desc));
26  ndr_desc.res = res;
  > 27  ndr_desc.numa_node = numa_map_to_online_node(nid);
28  ndr_desc.target_node = nid;
29  set_bit(ND_REGION_PAGEMAP, _desc.flags);
30  if (!nvdimm_pmem_region_create(nvdimm_bus, _desc))
31  return -ENXIO;
32  return 0;
33  }
34  

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org Intel Corporation
___
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-le...@lists.01.org


[RFC PATCH] nvdimm: scm_get() can be static

2019-10-27 Thread kbuild test robot


Fixes: 0d40f55b9035 ("nvdimm: Add driver for OpenCAPI Storage Class Memory")
Signed-off-by: kbuild test robot 
---
 ocxl-scm.c  |4 ++--
 ocxl-scm_internal.c |4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/nvdimm/ocxl-scm.c b/drivers/nvdimm/ocxl-scm.c
index f4e6cc022de8a..c169cb0bc71d4 100644
--- a/drivers/nvdimm/ocxl-scm.c
+++ b/drivers/nvdimm/ocxl-scm.c
@@ -733,7 +733,7 @@ static void scm_put(struct scm_data *scm_data)
put_device(_data->dev);
 }
 
-struct scm_data *scm_get(struct scm_data *scm_data)
+static struct scm_data *scm_get(struct scm_data *scm_data)
 {
return (get_device(_data->dev) == NULL) ? NULL : scm_data;
 }
@@ -2142,7 +2142,7 @@ static int scm_probe(struct pci_dev *pdev, const struct 
pci_device_id *ent)
return -ENXIO;
 }
 
-struct pci_driver scm_pci_driver = {
+static struct pci_driver scm_pci_driver = {
.name = "ocxl-scm",
.id_table = scm_pci_tbl,
.probe = scm_probe,
diff --git a/drivers/nvdimm/ocxl-scm_internal.c 
b/drivers/nvdimm/ocxl-scm_internal.c
index e7c247835817b..ee11fb72e1ecd 100644
--- a/drivers/nvdimm/ocxl-scm_internal.c
+++ b/drivers/nvdimm/ocxl-scm_internal.c
@@ -64,8 +64,8 @@ int scm_admin_command_request(struct scm_data *scm_data, u8 
op_code)
return scm_command_request(scm_data, _data->admin_command, op_code);
 }
 
-int scm_command_response(const struct scm_data *scm_data,
-const struct command_metadata *cmd)
+static int scm_command_response(const struct scm_data *scm_data,
+   const struct command_metadata *cmd)
 {
u64 val;
u16 id;
___
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-le...@lists.01.org


Re: [PATCH 08/10] nvdimm: Add driver for OpenCAPI Storage Class Memory

2019-10-27 Thread kbuild test robot
Hi Alastair,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on char-misc/char-misc-testing]
[cannot apply to v5.4-rc5 next-20191025]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:
https://github.com/0day-ci/linux/commits/Alastair-D-Silva/Add-support-for-OpenCAPI-SCM-devices/20191028-043750
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git 
da80d2e516eb858eb5bcca7fa5f5a13ed86930e4
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot 

All errors (new ones prefixed by >>):

   drivers/nvdimm/ocxl-scm.c: In function 'scm_register_lpc_mem':
>> drivers/nvdimm/ocxl-scm.c:476:16: error: implicit declaration of function 
>> 'of_node_to_nid'; did you mean 'zone_to_nid'? 
>> [-Werror=implicit-function-declaration]
 target_node = of_node_to_nid(scm_data->pdev->dev.of_node);
   ^~
   zone_to_nid
   cc1: some warnings being treated as errors
--
   drivers/misc/ocxl/main.c: In function 'init_ocxl':
>> drivers/misc/ocxl/main.c:12:7: error: 'tlbie_capable' undeclared (first use 
>> in this function); did you mean 'ptracer_capable'?
 if (!tlbie_capable)
  ^
  ptracer_capable
   drivers/misc/ocxl/main.c:12:7: note: each undeclared identifier is reported 
only once for each function it appears in
--
>> drivers/misc/ocxl/config.c:4:10: fatal error: asm/pnv-ocxl.h: No such file 
>> or directory
#include 
 ^~~~
   compilation terminated.
--
>> drivers/misc/ocxl/file.c:9:10: fatal error: asm/reg.h: No such file or 
>> directory
#include 
 ^~~
   compilation terminated.
--
   drivers/misc/ocxl/mmio.c: In function 'ocxl_global_mmio_read32':
>> drivers/misc/ocxl/mmio.c:20:10: error: implicit declaration of function 
>> 'readl_be'; did you mean 'readsb'? [-Werror=implicit-function-declaration]
  *val = readl_be((char *)afu->global_mmio_ptr + offset);
 ^~~~
 readsb
   drivers/misc/ocxl/mmio.c: In function 'ocxl_global_mmio_read64':
>> drivers/misc/ocxl/mmio.c:45:10: error: implicit declaration of function 
>> 'readq_be'; did you mean 'readsb'? [-Werror=implicit-function-declaration]
  *val = readq_be((char *)afu->global_mmio_ptr + offset);
 ^~~~
 readsb
   drivers/misc/ocxl/mmio.c: In function 'ocxl_global_mmio_write32':
>> drivers/misc/ocxl/mmio.c:70:3: error: implicit declaration of function 
>> 'writel_be'; did you mean 'writesb'? [-Werror=implicit-function-declaration]
  writel_be(val, (char *)afu->global_mmio_ptr + offset);
  ^
  writesb
   drivers/misc/ocxl/mmio.c: In function 'ocxl_global_mmio_write64':
>> drivers/misc/ocxl/mmio.c:96:3: error: implicit declaration of function 
>> 'writeq_be'; did you mean 'writesb'? [-Werror=implicit-function-declaration]
  writeq_be(val, (char *)afu->global_mmio_ptr + offset);
  ^
  writesb
   cc1: some warnings being treated as errors
--
>> drivers/misc/ocxl/link.c:7:10: fatal error: asm/copro.h: No such file or 
>> directory
#include 
 ^
   compilation terminated.
--
   drivers/misc/ocxl/context.c: In function 'ocxl_context_attach':
>> drivers/misc/ocxl/context.c:82:21: error: 'mm_context_t {aka struct 
>> }' has no member named 'id'
  pidr = mm->context.id;
^
--
>> drivers/misc/ocxl/afu_irq.c:4:10: fatal error: asm/pnv-ocxl.h: No such file 
>> or directory
#include 
 ^~~~
   compilation terminated.
--
   drivers/misc/ocxl/core.c: In function 'ocxl_function_open':
>> drivers/misc/ocxl/core.c:546:7: error: implicit declaration of function 
>> 'radix_enabled'; did you mean 'pat_enabled'? 
>> [-Werror=implicit-function-declaration]
 if (!radix_enabled()) {
  ^
  pat_enabled
   cc1: some warnings being treated as errors

vim +476 drivers/nvdimm/ocxl-scm.c

   402  
   403  /**
   404   * scm_register_lpc_mem() - Discover persistent memory on a device and 
register it with the NVDIMM subsystem
   405   * @scm_data: The SCM device data
   406   * Return: 0 on success
   407   */
   408  static int scm_register_lpc_mem(struct scm_data *scm_data)
   409  {
   410  struct nd_region_desc region_desc;
   411  struct nd_mapping_desc nd_mapping_desc;
   412  struct resource *lpc_mem;
   413  

Re: [PATCH 08/10] nvdimm: Add driver for OpenCAPI Storage Class Memory

2019-10-27 Thread kbuild test robot
Hi Alastair,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on char-misc/char-misc-testing]
[cannot apply to v5.4-rc5 next-20191025]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:
https://github.com/0day-ci/linux/commits/Alastair-D-Silva/Add-support-for-OpenCAPI-SCM-devices/20191028-043750
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git 
da80d2e516eb858eb5bcca7fa5f5a13ed86930e4
config: s390-allmodconfig (attached as .config)
compiler: s390-linux-gcc (GCC) 7.4.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=s390 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot 

All errors (new ones prefixed by >>):

   drivers/misc/ocxl/main.c: In function 'init_ocxl':
>> drivers/misc/ocxl/main.c:12:7: error: 'tlbie_capable' undeclared (first use 
>> in this function); did you mean 'iommu_capable'?
 if (!tlbie_capable)
  ^
  iommu_capable
   drivers/misc/ocxl/main.c:12:7: note: each undeclared identifier is reported 
only once for each function it appears in
--
   drivers/misc/ocxl/core.c: In function 'ocxl_function_open':
>> drivers/misc/ocxl/core.c:546:7: error: implicit declaration of function 
>> 'radix_enabled'; did you mean 'zdev_enabled'? 
>> [-Werror=implicit-function-declaration]
 if (!radix_enabled()) {
  ^
  zdev_enabled
   cc1: some warnings being treated as errors

vim +12 drivers/misc/ocxl/main.c

5ef3166e8a32d7 Frederic Barrat 2018-01-23   7  
5ef3166e8a32d7 Frederic Barrat 2018-01-23   8  static int __init init_ocxl(void)
5ef3166e8a32d7 Frederic Barrat 2018-01-23   9  {
5ef3166e8a32d7 Frederic Barrat 2018-01-23  10   int rc = 0;
5ef3166e8a32d7 Frederic Barrat 2018-01-23  11  
2275d7b5754a57 Nicholas Piggin 2019-09-03 @12   if (!tlbie_capable)
2275d7b5754a57 Nicholas Piggin 2019-09-03  13   return -EINVAL;
2275d7b5754a57 Nicholas Piggin 2019-09-03  14  
5ef3166e8a32d7 Frederic Barrat 2018-01-23  15   rc = ocxl_file_init();
5ef3166e8a32d7 Frederic Barrat 2018-01-23  16   if (rc)
5ef3166e8a32d7 Frederic Barrat 2018-01-23  17   return rc;
5ef3166e8a32d7 Frederic Barrat 2018-01-23  18  
5ef3166e8a32d7 Frederic Barrat 2018-01-23  19   rc = 
pci_register_driver(_pci_driver);
5ef3166e8a32d7 Frederic Barrat 2018-01-23  20   if (rc) {
5ef3166e8a32d7 Frederic Barrat 2018-01-23  21   ocxl_file_exit();
5ef3166e8a32d7 Frederic Barrat 2018-01-23  22   return rc;
5ef3166e8a32d7 Frederic Barrat 2018-01-23  23   }
5ef3166e8a32d7 Frederic Barrat 2018-01-23  24   return 0;
5ef3166e8a32d7 Frederic Barrat 2018-01-23  25  }
5ef3166e8a32d7 Frederic Barrat 2018-01-23  26  

:: The code at line 12 was first introduced by commit
:: 2275d7b5754a573ffb2ca9e40bd0546eeb986696 powerpc/64s/radix: introduce 
options to disable use of the tlbie instruction

:: TO: Nicholas Piggin 
:: CC: Michael Ellerman 

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation
___
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-le...@lists.01.org


Re: [PATCH 04/10] powerpc: Map & release OpenCAPI LPC memory

2019-10-27 Thread kbuild test robot
Hi Alastair,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on char-misc/char-misc-testing]
[cannot apply to v5.4-rc5 next-20191025]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:
https://github.com/0day-ci/linux/commits/Alastair-D-Silva/Add-support-for-OpenCAPI-SCM-devices/20191028-043750
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git 
da80d2e516eb858eb5bcca7fa5f5a13ed86930e4
config: mips-allmodconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 7.4.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=mips 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot 

All errors (new ones prefixed by >>):

   In file included from include/linux/mmzone.h:811:0,
from include/linux/gfp.h:6,
from include/linux/xarray.h:14,
from include/linux/radix-tree.h:18,
from include/linux/idr.h:15,
from include/linux/kernfs.h:13,
from include/linux/sysfs.h:16,
from include/linux/kobject.h:20,
from include/linux/of.h:17,
from include/linux/clk-provider.h:9,
from arch/mips/generic/init.c:8:
>> include/linux/memory_hotplug.h:342:5: error: "CONFIG_MEMORY_HOTPLUG_SPARSE" 
>> is not defined, evaluates to 0 [-Werror=undef]
#if CONFIG_MEMORY_HOTPLUG_SPARSE
^~~~
   cc1: all warnings being treated as errors

vim +/CONFIG_MEMORY_HOTPLUG_SPARSE +342 include/linux/memory_hotplug.h

   341  
 > 342  #if CONFIG_MEMORY_HOTPLUG_SPARSE
   343  int check_hotplug_memory_addressable(unsigned long pfn,
   344  unsigned long nr_pages);
   345  #endif /* CONFIG_MEMORY_HOTPLUG_SPARSE */
   346  

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation
___
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-le...@lists.01.org


Re: [PATCH 04/10] powerpc: Map & release OpenCAPI LPC memory

2019-10-27 Thread kbuild test robot
Hi Alastair,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on char-misc/char-misc-testing]
[also build test WARNING on v5.4-rc5]
[cannot apply to next-20191025]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:
https://github.com/0day-ci/linux/commits/Alastair-D-Silva/Add-support-for-OpenCAPI-SCM-devices/20191028-043750
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git 
da80d2e516eb858eb5bcca7fa5f5a13ed86930e4
config: i386-tinyconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot 

All warnings (new ones prefixed by >>):

   In file included from include/linux/mmzone.h:811:0,
from include/linux/gfp.h:6,
from include/linux/mm.h:10,
from include/linux/pid_namespace.h:7,
from include/linux/ptrace.h:10,
from include/linux/audit.h:13,
from security/commoncap.c:6:
>> include/linux/memory_hotplug.h:342:5: warning: 
>> "CONFIG_MEMORY_HOTPLUG_SPARSE" is not defined, evaluates to 0 [-Wundef]
#if CONFIG_MEMORY_HOTPLUG_SPARSE
^~~~
--
   In file included from include/linux/mmzone.h:811:0,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:19,
from arch/x86/kernel/asm-offsets.c:9:
>> include/linux/memory_hotplug.h:342:5: warning: 
>> "CONFIG_MEMORY_HOTPLUG_SPARSE" is not defined, evaluates to 0 [-Wundef]
#if CONFIG_MEMORY_HOTPLUG_SPARSE
^~~~
   7 real  4 user  3 sys  112.50% cpu   make prepare

vim +/CONFIG_MEMORY_HOTPLUG_SPARSE +342 include/linux/memory_hotplug.h

   341  
 > 342  #if CONFIG_MEMORY_HOTPLUG_SPARSE
   343  int check_hotplug_memory_addressable(unsigned long pfn,
   344  unsigned long nr_pages);
   345  #endif /* CONFIG_MEMORY_HOTPLUG_SPARSE */
   346  

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation
___
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-le...@lists.01.org


[linux-nvdimm:libnvdimm-for-next 5/15] drivers/s390//block/dcssblk.c:681:22: error: too few arguments to function 'alloc_dax'

2019-06-20 Thread kbuild test robot
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
head:   3b6047778c09037615e7b919c922081ef1a37a7f
commit: fee8be32c5bab110c34884dfc4a68dd0105d2607 [5/15] libnvdimm: add dax_dev 
sync flag
config: s390-debug_defconfig (attached as .config)
compiler: s390-linux-gcc (GCC) 7.4.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout fee8be32c5bab110c34884dfc4a68dd0105d2607
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=s390 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot 

All errors (new ones prefixed by >>):

   drivers/s390//block/dcssblk.c: In function 'dcssblk_add_store':
>> drivers/s390//block/dcssblk.c:681:22: error: too few arguments to function 
>> 'alloc_dax'
 dev_info->dax_dev = alloc_dax(dev_info, dev_info->gd->disk_name,
 ^
   In file included from drivers/s390//block/dcssblk.c:23:0:
   include/linux/dax.h:43:20: note: declared here
struct dax_device *alloc_dax(void *private, const char *host,
   ^

vim +/alloc_dax +681 drivers/s390//block/dcssblk.c

b2300b9efe Hongjie Yang  2008-10-10  542  
b2300b9efe Hongjie Yang  2008-10-10  543  /*
^1da177e4c Linus Torvalds2005-04-16  544   * device attribute for 
adding devices
^1da177e4c Linus Torvalds2005-04-16  545   */
^1da177e4c Linus Torvalds2005-04-16  546  static ssize_t
e404e274f6 Yani Ioannou  2005-05-17  547  dcssblk_add_store(struct 
device *dev, struct device_attribute *attr, const char *buf, size_t count)
^1da177e4c Linus Torvalds2005-04-16  548  {
b2300b9efe Hongjie Yang  2008-10-10  549int rc, i, j, 
num_of_segments;
^1da177e4c Linus Torvalds2005-04-16  550struct dcssblk_dev_info 
*dev_info;
b2300b9efe Hongjie Yang  2008-10-10  551struct segment_info 
*seg_info, *temp;
^1da177e4c Linus Torvalds2005-04-16  552char *local_buf;
^1da177e4c Linus Torvalds2005-04-16  553unsigned long 
seg_byte_size;
^1da177e4c Linus Torvalds2005-04-16  554  
^1da177e4c Linus Torvalds2005-04-16  555dev_info = NULL;
b2300b9efe Hongjie Yang  2008-10-10  556seg_info = NULL;
^1da177e4c Linus Torvalds2005-04-16  557if (dev != 
dcssblk_root_dev) {
^1da177e4c Linus Torvalds2005-04-16  558rc = -EINVAL;
^1da177e4c Linus Torvalds2005-04-16  559goto out_nobuf;
^1da177e4c Linus Torvalds2005-04-16  560}
b2300b9efe Hongjie Yang  2008-10-10  561if ((count < 1) || 
(buf[0] == '\0') || (buf[0] == '\n')) {
b2300b9efe Hongjie Yang  2008-10-10  562rc = 
-ENAMETOOLONG;
b2300b9efe Hongjie Yang  2008-10-10  563goto out_nobuf;
b2300b9efe Hongjie Yang  2008-10-10  564}
b2300b9efe Hongjie Yang  2008-10-10  565  
^1da177e4c Linus Torvalds2005-04-16  566local_buf = 
kmalloc(count + 1, GFP_KERNEL);
^1da177e4c Linus Torvalds2005-04-16  567if (local_buf == NULL) {
^1da177e4c Linus Torvalds2005-04-16  568rc = -ENOMEM;
^1da177e4c Linus Torvalds2005-04-16  569goto out_nobuf;
^1da177e4c Linus Torvalds2005-04-16  570}
b2300b9efe Hongjie Yang  2008-10-10  571  
^1da177e4c Linus Torvalds2005-04-16  572/*
^1da177e4c Linus Torvalds2005-04-16  573 * parse input
^1da177e4c Linus Torvalds2005-04-16  574 */
b2300b9efe Hongjie Yang  2008-10-10  575num_of_segments = 0;
3a9f9183bd Ameen Ali 2015-02-24  576for (i = 0; (i < count 
&& (buf[i] != '\0') && (buf[i] != '\n')); i++) {
42cfc6b590 Martin Schwidefsky2015-08-19  577for (j = i; j < 
count &&
42cfc6b590 Martin Schwidefsky2015-08-19  578(buf[j] 
!= ':') &&
b2300b9efe Hongjie Yang  2008-10-10  579(buf[j] 
!= '\0') &&
42cfc6b590 Martin Schwidefsky2015-08-19  580(buf[j] 
!= '\n'); j++) {
b2300b9efe Hongjie Yang  2008-10-10  581
local_buf[j-i] = toupper(buf[j]);
b2300b9efe Hongjie Yang  2008-10-10  582}
b2300b9efe Hongjie Yang  2008-10-10  583local_buf[j-i] 
= '\0';
b2300b9efe Hongjie Yang  2008-10-10  584if (((j - i) == 
0) || ((j - i) > 8)) {
^1da177e4c Linus Torvalds2005-04-16  585rc = 
-ENAMETOOLONG;
b2300b9efe Hongjie Yang  2008-10-10  586goto 
seg_list_del;
^1da177e4c

[linux-nvdimm:libnvdimm-for-next 6/15] drivers/md/dm-table.c:897:9: error: implicit declaration of function 'dax_synchronous'; did you mean 'device_synchronous'?

2019-06-20 Thread kbuild test robot
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
head:   3b6047778c09037615e7b919c922081ef1a37a7f
commit: 38887edec2472179cc79bb45034731f5f816f064 [6/15] dm: enable synchronous 
dax
config: parisc-c3000_defconfig (attached as .config)
compiler: hppa-linux-gcc (GCC) 7.4.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 38887edec2472179cc79bb45034731f5f816f064
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=parisc 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot 

All errors (new ones prefixed by >>):

   drivers/md/dm-table.c: In function 'device_synchronous':
>> drivers/md/dm-table.c:897:9: error: implicit declaration of function 
>> 'dax_synchronous'; did you mean 'device_synchronous'? 
>> [-Werror=implicit-function-declaration]
 return dax_synchronous(dev->dax_dev);
^~~
device_synchronous
   drivers/md/dm-table.c: In function 'dm_table_set_restrictions':
>> drivers/md/dm-table.c:1925:4: error: implicit declaration of function 
>> 'set_dax_synchronous'; did you mean 'device_synchronous'? 
>> [-Werror=implicit-function-declaration]
   set_dax_synchronous(t->md->dax_dev);
   ^~~
   device_synchronous
   cc1: some warnings being treated as errors

vim +897 drivers/md/dm-table.c

   892  
   893  /* Check devices support synchronous DAX */
   894  static int device_synchronous(struct dm_target *ti, struct dm_dev *dev,
   895 sector_t start, sector_t len, 
void *data)
   896  {
 > 897  return dax_synchronous(dev->dax_dev);
   898  }
   899  

---
0-DAY kernel test infrastructureOpen 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


[linux-nvdimm:libnvdimm-fixes 2/3] drivers//dax/super.c:76:6: error: redefinition of 'generic_fsdax_supported'

2019-05-20 Thread kbuild test robot
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-fixes
head:   ac09ef3d6de21992ad8e372dc97017cc3c46e15e
commit: 17a1362dd849b1c01dedcda38a6c0f5e26582407 [2/3] dax: Arrange for 
dax_supported check to span multiple devices
config: i386-randconfig-x006-201920 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
git checkout 17a1362dd849b1c01dedcda38a6c0f5e26582407
# save the attached .config to linux build tree
make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot 

All errors (new ones prefixed by >>):

>> drivers//dax/super.c:76:6: error: redefinition of 'generic_fsdax_supported'
bool generic_fsdax_supported(struct dax_device *dax_dev,
 ^~~
   In file included from drivers//dax/super.c:23:0:
   include/linux/dax.h:112:20: note: previous definition of 
'generic_fsdax_supported' was here
static inline bool generic_fsdax_supported(struct dax_device *dax_dev,
   ^~~

vim +/generic_fsdax_supported +76 drivers//dax/super.c

75  
  > 76  bool generic_fsdax_supported(struct dax_device *dax_dev,
77  struct block_device *bdev, int blocksize, sector_t 
start,
78  sector_t sectors)
79  {
80  bool dax_enabled = false;
81  pgoff_t pgoff, pgoff_end;
82  char buf[BDEVNAME_SIZE];
83  void *kaddr, *end_kaddr;
84  pfn_t pfn, end_pfn;
85  sector_t last_page;
86  long len, len2;
87  int err, id;
88  
89  if (blocksize != PAGE_SIZE) {
90  pr_debug("%s: error: unsupported blocksize for dax\n",
91  bdevname(bdev, buf));
92  return false;
93  }
94  
95  err = bdev_dax_pgoff(bdev, start, PAGE_SIZE, );
96  if (err) {
97  pr_debug("%s: error: unaligned partition for dax\n",
98  bdevname(bdev, buf));
99  return false;
   100  }
   101  
   102  last_page = PFN_DOWN((start + sectors - 1) * 512) * PAGE_SIZE / 
512;
   103  err = bdev_dax_pgoff(bdev, last_page, PAGE_SIZE, _end);
   104  if (err) {
   105  pr_debug("%s: error: unaligned partition for dax\n",
   106  bdevname(bdev, buf));
   107  return false;
   108  }
   109  
   110  id = dax_read_lock();
   111  len = dax_direct_access(dax_dev, pgoff, 1, , );
   112  len2 = dax_direct_access(dax_dev, pgoff_end, 1, _kaddr, 
_pfn);
   113  dax_read_unlock(id);
   114  
   115  if (len < 1 || len2 < 1) {
   116  pr_debug("%s: error: dax access failed (%ld)\n",
   117  bdevname(bdev, buf), len < 1 ? len : 
len2);
   118  return false;
   119  }
   120  
   121  if (IS_ENABLED(CONFIG_FS_DAX_LIMITED) && pfn_t_special(pfn)) {
   122  /*
   123   * An arch that has enabled the pmem api should also
   124   * have its drivers support pfn_t_devmap()
   125   *
   126   * This is a developer warning and should not trigger in
   127   * production. dax_flush() will crash since it depends
   128   * on being able to do (page_address(pfn_to_page())).
   129   */
   130  WARN_ON(IS_ENABLED(CONFIG_ARCH_HAS_PMEM_API));
   131  dax_enabled = true;
   132  } else if (pfn_t_devmap(pfn) && pfn_t_devmap(end_pfn)) {
   133  struct dev_pagemap *pgmap, *end_pgmap;
   134  
   135  pgmap = get_dev_pagemap(pfn_t_to_pfn(pfn), NULL);
   136  end_pgmap = get_dev_pagemap(pfn_t_to_pfn(end_pfn), 
NULL);
   137  if (pgmap && pgmap == end_pgmap && pgmap->type == 
MEMORY_DEVICE_FS_DAX
   138  && pfn_t_to_page(pfn)->pgmap == pgmap
   139  && pfn_t_to_page(end_pfn)->pgmap == 
pgmap
   140  && pfn_t_to_pfn(pfn) == 
PHYS_PFN(__pa(kaddr))
   141  && pfn_t_to_pfn(end_pfn) == 
PHYS_PFN(__pa(end_kaddr)))
   142  dax_enabled = true;
   143  put_dev_pagemap(pgmap);
   144  put_dev_pagemap(end_pgmap);
   145  
   146  }
   147  
   148  if (!dax_enabled) {
   149  pr_debug("%s: error: dax support not enabled\n",
   150  bdevname(bdev, buf));
   151 

Re: [PATCH] libnvdimm/dimm: Add a no-BLK quirk based on NVDIMM family

2019-02-03 Thread kbuild test robot
Hi Dan,

I love your patch! Yet something to improve:

[auto build test ERROR on linux-nvdimm/libnvdimm-for-next]
[also build test ERROR on v5.0-rc4 next-20190201]
[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/Dan-Williams/libnvdimm-dimm-Add-a-no-BLK-quirk-based-on-NVDIMM-family/20190203-213444
base:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-8 (Debian 8.2.0-14) 8.2.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers/acpi/nfit/core.c: In function 'acpi_nfit_register_dimms':
>> drivers/acpi/nfit/core.c:2003:27: error: 'NVDIMM_FAMILY_HYPERV' undeclared 
>> (first use in this function); did you mean 'NVDIMM_FAMILY_HPE1'?
  if (nfit_mem->family == NVDIMM_FAMILY_HYPERV)
  ^~~~
  NVDIMM_FAMILY_HPE1
   drivers/acpi/nfit/core.c:2003:27: note: each undeclared identifier is 
reported only once for each function it appears in

vim +2003 drivers/acpi/nfit/core.c

  1944  
  1945  static int acpi_nfit_register_dimms(struct acpi_nfit_desc *acpi_desc)
  1946  {
  1947  struct nfit_mem *nfit_mem;
  1948  int dimm_count = 0, rc;
  1949  struct nvdimm *nvdimm;
  1950  
  1951  list_for_each_entry(nfit_mem, _desc->dimms, list) {
  1952  struct acpi_nfit_flush_address *flush;
  1953  unsigned long flags = 0, cmd_mask;
  1954  struct nfit_memdev *nfit_memdev;
  1955  u32 device_handle;
  1956  u16 mem_flags;
  1957  
  1958  device_handle = 
__to_nfit_memdev(nfit_mem)->device_handle;
  1959  nvdimm = acpi_nfit_dimm_by_handle(acpi_desc, 
device_handle);
  1960  if (nvdimm) {
  1961  dimm_count++;
  1962  continue;
  1963  }
  1964  
  1965  if (nfit_mem->bdw && nfit_mem->memdev_pmem)
  1966  set_bit(NDD_ALIASING, );
  1967  
  1968  /* collate flags across all memdevs for this dimm */
  1969  list_for_each_entry(nfit_memdev, _desc->memdevs, 
list) {
  1970  struct acpi_nfit_memory_map *dimm_memdev;
  1971  
  1972  dimm_memdev = __to_nfit_memdev(nfit_mem);
  1973  if (dimm_memdev->device_handle
  1974  != 
nfit_memdev->memdev->device_handle)
  1975  continue;
  1976  dimm_memdev->flags |= 
nfit_memdev->memdev->flags;
  1977  }
  1978  
  1979  mem_flags = __to_nfit_memdev(nfit_mem)->flags;
  1980  if (mem_flags & ACPI_NFIT_MEM_NOT_ARMED)
  1981  set_bit(NDD_UNARMED, );
  1982  
  1983  rc = acpi_nfit_add_dimm(acpi_desc, nfit_mem, 
device_handle);
  1984  if (rc)
  1985  continue;
  1986  
  1987  /*
  1988   * TODO: provide translation for non-NVDIMM_FAMILY_INTEL
  1989   * devices (i.e. from nd_cmd to acpi_dsm) to 
standardize the
  1990   * userspace interface.
  1991   */
  1992  cmd_mask = 1UL << ND_CMD_CALL;
  1993  if (nfit_mem->family == NVDIMM_FAMILY_INTEL) {
  1994  /*
  1995   * These commands have a 1:1 correspondence
  1996   * between DSM payload and libnvdimm ioctl
  1997   * payload format.
  1998   */
  1999  cmd_mask |= nfit_mem->dsm_mask & 
NVDIMM_STANDARD_CMDMASK;
  2000  }
  2001  
  2002  /* Quirk to ignore LOCAL for labels on HYPERV DIMMs */
> 2003  if (nfit_mem->family == NVDIMM_FAMILY_HYPERV)
  2004  set_bit(NDD_NOBLK, );
  2005  
  2006  if (test_bit(NFIT_MEM_LSR, _mem->flags)) {
  2007  set_bit(ND_CMD_GET_CONFIG_SIZE, _mask);
  2008  set_bit(ND_CMD_GET_CONFIG_DATA, _mask);
  2009  }
  2010  if (test_bit(NFIT_MEM_LSW, _mem->flags))
  2011  set_bit(ND_CMD_SET_CONFIG_DATA, _mask);
  2012  
  2013  flush = nfit_mem->nfit_flush ? 
nfit_mem->nfit_flush->flush
  2014  : NULL;
  2015  nvdimm = __nvdimm_create(acpi_desc->nvdimm_bus, 
nfit_mem,
  2016  acpi_nfit_dimm_attribute_groups,
  2017  

Re: [PATCH] libnvdimm/dimm: Add a no-BLK quirk based on NVDIMM family

2019-02-03 Thread kbuild test robot
Hi Dan,

I love your patch! Yet something to improve:

[auto build test ERROR on linux-nvdimm/libnvdimm-for-next]
[also build test ERROR on v5.0-rc4 next-20190201]
[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/Dan-Williams/libnvdimm-dimm-Add-a-no-BLK-quirk-based-on-NVDIMM-family/20190203-213444
base:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
config: x86_64-randconfig-x018-201905 (attached as .config)
compiler: gcc-8 (Debian 8.2.0-14) 8.2.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers/acpi//nfit/core.c: In function 'acpi_nfit_register_dimms':
>> drivers/acpi//nfit/core.c:2003:27: error: 'NVDIMM_FAMILY_HYPERV' undeclared 
>> (first use in this function); did you mean 'NVDIMM_FAMILY_HPE2'?
  if (nfit_mem->family == NVDIMM_FAMILY_HYPERV)
  ^~~~
  NVDIMM_FAMILY_HPE2
   drivers/acpi//nfit/core.c:2003:27: note: each undeclared identifier is 
reported only once for each function it appears in

vim +2003 drivers/acpi//nfit/core.c

  1944  
  1945  static int acpi_nfit_register_dimms(struct acpi_nfit_desc *acpi_desc)
  1946  {
  1947  struct nfit_mem *nfit_mem;
  1948  int dimm_count = 0, rc;
  1949  struct nvdimm *nvdimm;
  1950  
  1951  list_for_each_entry(nfit_mem, _desc->dimms, list) {
  1952  struct acpi_nfit_flush_address *flush;
  1953  unsigned long flags = 0, cmd_mask;
  1954  struct nfit_memdev *nfit_memdev;
  1955  u32 device_handle;
  1956  u16 mem_flags;
  1957  
  1958  device_handle = 
__to_nfit_memdev(nfit_mem)->device_handle;
  1959  nvdimm = acpi_nfit_dimm_by_handle(acpi_desc, 
device_handle);
  1960  if (nvdimm) {
  1961  dimm_count++;
  1962  continue;
  1963  }
  1964  
  1965  if (nfit_mem->bdw && nfit_mem->memdev_pmem)
  1966  set_bit(NDD_ALIASING, );
  1967  
  1968  /* collate flags across all memdevs for this dimm */
  1969  list_for_each_entry(nfit_memdev, _desc->memdevs, 
list) {
  1970  struct acpi_nfit_memory_map *dimm_memdev;
  1971  
  1972  dimm_memdev = __to_nfit_memdev(nfit_mem);
  1973  if (dimm_memdev->device_handle
  1974  != 
nfit_memdev->memdev->device_handle)
  1975  continue;
  1976  dimm_memdev->flags |= 
nfit_memdev->memdev->flags;
  1977  }
  1978  
  1979  mem_flags = __to_nfit_memdev(nfit_mem)->flags;
  1980  if (mem_flags & ACPI_NFIT_MEM_NOT_ARMED)
  1981  set_bit(NDD_UNARMED, );
  1982  
  1983  rc = acpi_nfit_add_dimm(acpi_desc, nfit_mem, 
device_handle);
  1984  if (rc)
  1985  continue;
  1986  
  1987  /*
  1988   * TODO: provide translation for non-NVDIMM_FAMILY_INTEL
  1989   * devices (i.e. from nd_cmd to acpi_dsm) to 
standardize the
  1990   * userspace interface.
  1991   */
  1992  cmd_mask = 1UL << ND_CMD_CALL;
  1993  if (nfit_mem->family == NVDIMM_FAMILY_INTEL) {
  1994  /*
  1995   * These commands have a 1:1 correspondence
  1996   * between DSM payload and libnvdimm ioctl
  1997   * payload format.
  1998   */
  1999  cmd_mask |= nfit_mem->dsm_mask & 
NVDIMM_STANDARD_CMDMASK;
  2000  }
  2001  
  2002  /* Quirk to ignore LOCAL for labels on HYPERV DIMMs */
> 2003  if (nfit_mem->family == NVDIMM_FAMILY_HYPERV)
  2004  set_bit(NDD_NOBLK, );
  2005  
  2006  if (test_bit(NFIT_MEM_LSR, _mem->flags)) {
  2007  set_bit(ND_CMD_GET_CONFIG_SIZE, _mask);
  2008  set_bit(ND_CMD_GET_CONFIG_DATA, _mask);
  2009  }
  2010  if (test_bit(NFIT_MEM_LSW, _mem->flags))
  2011  set_bit(ND_CMD_SET_CONFIG_DATA, _mask);
  2012  
  2013  flush = nfit_mem->nfit_flush ? 
nfit_mem->nfit_flush->flush
  2014  : NULL;
  2015  nvdimm = __nvdimm_create(acpi_desc->nvdimm_bus, 
nfit_mem,
  2016  acpi_nfit_dimm_attribute_groups,
  2017 

[linux-nvdimm:for-5.0/nvdimm-security 2/17] arch/powerpc//platforms/pseries/papr_scm.c:219:14: error: too few arguments to function 'nvdimm_create'

2018-11-10 Thread kbuild test robot
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
for-5.0/nvdimm-security
head:   bddbf9de5dcd455addac2862e8bc3f41881d29f7
commit: 625fea4fc86b6dca5a43b5882f23f537088571a6 [2/17] acpi/nfit, libnvdimm: 
Store dimm id as a member to struct nvdimm
config: powerpc64-allyesconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 625fea4fc86b6dca5a43b5882f23f537088571a6
# save the attached .config to linux build tree
GCC_VERSION=7.2.0 make.cross ARCH=powerpc64 

Note: the linux-nvdimm/for-5.0/nvdimm-security HEAD 
bddbf9de5dcd455addac2862e8bc3f41881d29f7 builds fine.
  It only hurts bisectibility.

All errors (new ones prefixed by >>):

   arch/powerpc//platforms/pseries/papr_scm.c: In function 
'papr_scm_nvdimm_init':
>> arch/powerpc//platforms/pseries/papr_scm.c:219:14: error: too few arguments 
>> to function 'nvdimm_create'
 p->nvdimm = nvdimm_create(p->bus, p, papr_scm_dimm_groups,
 ^
   In file included from arch/powerpc//platforms/pseries/papr_scm.c:12:0:
   include/linux/libnvdimm.h:178:16: note: declared here
struct nvdimm *nvdimm_create(struct nvdimm_bus *nvdimm_bus, void 
*provider_data,
   ^

vim +/nvdimm_create +219 arch/powerpc//platforms/pseries/papr_scm.c

b5beae5e Oliver O'Halloran 2018-10-15  193  
b5beae5e Oliver O'Halloran 2018-10-15  194  static int 
papr_scm_nvdimm_init(struct papr_scm_priv *p)
b5beae5e Oliver O'Halloran 2018-10-15  195  {
b5beae5e Oliver O'Halloran 2018-10-15  196  struct device *dev = 
>pdev->dev;
b5beae5e Oliver O'Halloran 2018-10-15  197  struct nd_mapping_desc mapping;
b5beae5e Oliver O'Halloran 2018-10-15  198  struct nd_region_desc ndr_desc;
b5beae5e Oliver O'Halloran 2018-10-15  199  unsigned long dimm_flags;
b5beae5e Oliver O'Halloran 2018-10-15  200  
b5beae5e Oliver O'Halloran 2018-10-15  201  p->bus_desc.ndctl = 
papr_scm_ndctl;
b5beae5e Oliver O'Halloran 2018-10-15  202  p->bus_desc.module = 
THIS_MODULE;
b5beae5e Oliver O'Halloran 2018-10-15  203  p->bus_desc.of_node = 
p->pdev->dev.of_node;
b5beae5e Oliver O'Halloran 2018-10-15  204  p->bus_desc.attr_groups = 
bus_attr_groups;
b5beae5e Oliver O'Halloran 2018-10-15  205  p->bus_desc.provider_name = 
kstrdup(p->pdev->name, GFP_KERNEL);
b5beae5e Oliver O'Halloran 2018-10-15  206  
b5beae5e Oliver O'Halloran 2018-10-15  207  if (!p->bus_desc.provider_name)
b5beae5e Oliver O'Halloran 2018-10-15  208  return -ENOMEM;
b5beae5e Oliver O'Halloran 2018-10-15  209  
b5beae5e Oliver O'Halloran 2018-10-15  210  p->bus = 
nvdimm_bus_register(NULL, >bus_desc);
b5beae5e Oliver O'Halloran 2018-10-15  211  if (!p->bus) {
b5beae5e Oliver O'Halloran 2018-10-15  212  dev_err(dev, "Error 
creating nvdimm bus %pOF\n", p->dn);
b5beae5e Oliver O'Halloran 2018-10-15  213  return -ENXIO;
b5beae5e Oliver O'Halloran 2018-10-15  214  }
b5beae5e Oliver O'Halloran 2018-10-15  215  
b5beae5e Oliver O'Halloran 2018-10-15  216  dimm_flags = 0;
b5beae5e Oliver O'Halloran 2018-10-15  217  set_bit(NDD_ALIASING, 
_flags);
b5beae5e Oliver O'Halloran 2018-10-15  218  
b5beae5e Oliver O'Halloran 2018-10-15 @219  p->nvdimm = 
nvdimm_create(p->bus, p, papr_scm_dimm_groups,
b5beae5e Oliver O'Halloran 2018-10-15  220  
dimm_flags, PAPR_SCM_DIMM_CMD_MASK, 0, NULL);
b5beae5e Oliver O'Halloran 2018-10-15  221  if (!p->nvdimm) {
b5beae5e Oliver O'Halloran 2018-10-15  222  dev_err(dev, "Error 
creating DIMM object for %pOF\n", p->dn);
b5beae5e Oliver O'Halloran 2018-10-15  223  goto err;
b5beae5e Oliver O'Halloran 2018-10-15  224  }
b5beae5e Oliver O'Halloran 2018-10-15  225  
b5beae5e Oliver O'Halloran 2018-10-15  226  /* now add the region */
b5beae5e Oliver O'Halloran 2018-10-15  227  
b5beae5e Oliver O'Halloran 2018-10-15  228  memset(, 0, 
sizeof(mapping));
b5beae5e Oliver O'Halloran 2018-10-15  229  mapping.nvdimm = p->nvdimm;
b5beae5e Oliver O'Halloran 2018-10-15  230  mapping.start = 0;
b5beae5e Oliver O'Halloran 2018-10-15  231  mapping.size = p->blocks * 
p->block_size; // XXX: potential overflow?
b5beae5e Oliver O'Halloran 2018-10-15  232  
b5beae5e Oliver O'Halloran 2018-10-15  233  memset(_desc, 0, 
sizeof(ndr_desc));
b5beae5e Oliver O'Halloran 2018-10-15  234  ndr_desc.attr_groups = 
region_attr_groups;
b5beae5e Oliver O'Halloran 2018-10-15  235  ndr_desc.numa_node = 
dev_to_node(>pdev->dev);
b5beae5e Oliver O'Halloran 2018-10-15  236  ndr_desc.res = >res;
b5beae5e Oliver O'Halloran 2018-10-15  237  ndr_desc.of_node = p->dn;
b5beae5e Oliver O'Halloran 2018-10-15  238  ndr_desc.provider_data = p;
b5beae5e Oliver O'Halloran 2018-10-15  239 

Re: [driver-core PATCH v5 5/9] driver core: Establish clear order of operations for deferred probe and remove

2018-11-05 Thread kbuild test robot
Hi Alexander,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on driver-core/master]

url:
https://github.com/0day-ci/linux/commits/Alexander-Duyck/Add-NUMA-aware-async_schedule-calls/20181106-093800
reproduce: make htmldocs

All warnings (new ones prefixed by >>):

   include/net/mac80211.h:1001: warning: Function parameter or member 
'status.is_valid_ack_signal' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:1001: warning: Function parameter or member 
'status.status_driver_data' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:1001: warning: Function parameter or member 
'driver_rates' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:1001: warning: Function parameter or member 'pad' not 
described in 'ieee80211_tx_info'
   include/net/mac80211.h:1001: warning: Function parameter or member 
'rate_driver_data' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct ieee80211_ftm_responder_params '
   include/net/mac80211.h:477: warning: cannot understand function prototype: 
'struct 

Re: [PATCH v2 1/2] libnvdimm: nd_region flush callback support

2018-10-13 Thread kbuild test robot
Hi Pankaj,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linux-nvdimm/libnvdimm-for-next]
[also build test WARNING on v4.19-rc7 next-20181012]
[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/Pankaj-Gupta/libnvdimm-nd_region-flush-callback-support/20181013-152624
base:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
config: x86_64-randconfig-g0-10131621 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   In file included from drivers//acpi/nfit/core.c:14:0:
>> include/linux/libnvdimm.h:206:54: warning: 'struct bio' declared inside 
>> parameter list
int nvdimm_flush(struct nd_region *nd_region, struct bio *bio, bool async);
 ^
>> include/linux/libnvdimm.h:206:54: warning: its scope is only this definition 
>> or declaration, which is probably not what you want

vim +206 include/linux/libnvdimm.h

   159  
   160  void badrange_init(struct badrange *badrange);
   161  int badrange_add(struct badrange *badrange, u64 addr, u64 length);
   162  void badrange_forget(struct badrange *badrange, phys_addr_t start,
   163  unsigned int len);
   164  int nvdimm_bus_add_badrange(struct nvdimm_bus *nvdimm_bus, u64 addr,
   165  u64 length);
   166  struct nvdimm_bus *nvdimm_bus_register(struct device *parent,
   167  struct nvdimm_bus_descriptor *nfit_desc);
   168  void nvdimm_bus_unregister(struct nvdimm_bus *nvdimm_bus);
   169  struct nvdimm_bus *to_nvdimm_bus(struct device *dev);
   170  struct nvdimm *to_nvdimm(struct device *dev);
   171  struct nd_region *to_nd_region(struct device *dev);
   172  struct device *nd_region_dev(struct nd_region *nd_region);
   173  struct nd_blk_region *to_nd_blk_region(struct device *dev);
   174  struct nvdimm_bus_descriptor *to_nd_desc(struct nvdimm_bus *nvdimm_bus);
   175  struct device *to_nvdimm_bus_dev(struct nvdimm_bus *nvdimm_bus);
   176  const char *nvdimm_name(struct nvdimm *nvdimm);
   177  struct kobject *nvdimm_kobj(struct nvdimm *nvdimm);
   178  unsigned long nvdimm_cmd_mask(struct nvdimm *nvdimm);
   179  void *nvdimm_provider_data(struct nvdimm *nvdimm);
   180  struct nvdimm *nvdimm_create(struct nvdimm_bus *nvdimm_bus, void 
*provider_data,
   181  const struct attribute_group **groups, unsigned long 
flags,
   182  unsigned long cmd_mask, int num_flush,
   183  struct resource *flush_wpq);
   184  const struct nd_cmd_desc *nd_cmd_dimm_desc(int cmd);
   185  const struct nd_cmd_desc *nd_cmd_bus_desc(int cmd);
   186  u32 nd_cmd_in_size(struct nvdimm *nvdimm, int cmd,
   187  const struct nd_cmd_desc *desc, int idx, void *buf);
   188  u32 nd_cmd_out_size(struct nvdimm *nvdimm, int cmd,
   189  const struct nd_cmd_desc *desc, int idx, const u32 
*in_field,
   190  const u32 *out_field, unsigned long remainder);
   191  int nvdimm_bus_check_dimm_count(struct nvdimm_bus *nvdimm_bus, int 
dimm_count);
   192  struct nd_region *nvdimm_pmem_region_create(struct nvdimm_bus 
*nvdimm_bus,
   193  struct nd_region_desc *ndr_desc);
   194  struct nd_region *nvdimm_blk_region_create(struct nvdimm_bus 
*nvdimm_bus,
   195  struct nd_region_desc *ndr_desc);
   196  struct nd_region *nvdimm_volatile_region_create(struct nvdimm_bus 
*nvdimm_bus,
   197  struct nd_region_desc *ndr_desc);
   198  void *nd_region_provider_data(struct nd_region *nd_region);
   199  void *nd_blk_region_provider_data(struct nd_blk_region *ndbr);
   200  void nd_blk_region_set_provider_data(struct nd_blk_region *ndbr, void 
*data);
   201  struct nvdimm *nd_blk_region_to_dimm(struct nd_blk_region *ndbr);
   202  unsigned long nd_blk_memremap_flags(struct nd_blk_region *ndbr);
   203  unsigned int nd_region_acquire_lane(struct nd_region *nd_region);
   204  void nd_region_release_lane(struct nd_region *nd_region, unsigned int 
lane);
   205  u64 nd_fletcher64(void *addr, size_t len, bool le);
 > 206  int nvdimm_flush(struct nd_region *nd_region, struct bio *bio, bool 
 > async);
   207  int generic_nvdimm_flush(struct nd_region *nd_region);
   208  int nvdimm_has_flush(struct nd_region *nd_region);
   209  int nvdimm_has_cache(struct nd_region *nd_region);
   210  

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v2 1/2] libnvdimm: nd_region flush callback support

2018-10-13 Thread kbuild test robot
Hi Pankaj,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linux-nvdimm/libnvdimm-for-next]
[also build test WARNING on v4.19-rc7 next-20181012]
[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/Pankaj-Gupta/libnvdimm-nd_region-flush-callback-support/20181013-152624
base:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
config: x86_64-randconfig-x017-201840 (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=x86_64 

All warnings (new ones prefixed by >>):

   In file included from drivers/nvdimm/bus.c:14:0:
>> include/linux/libnvdimm.h:206:54: warning: 'struct bio' declared inside 
>> parameter list will not be visible outside of this definition or declaration
int nvdimm_flush(struct nd_region *nd_region, struct bio *bio, bool async);
 ^~~

vim +206 include/linux/libnvdimm.h

   159  
   160  void badrange_init(struct badrange *badrange);
   161  int badrange_add(struct badrange *badrange, u64 addr, u64 length);
   162  void badrange_forget(struct badrange *badrange, phys_addr_t start,
   163  unsigned int len);
   164  int nvdimm_bus_add_badrange(struct nvdimm_bus *nvdimm_bus, u64 addr,
   165  u64 length);
   166  struct nvdimm_bus *nvdimm_bus_register(struct device *parent,
   167  struct nvdimm_bus_descriptor *nfit_desc);
   168  void nvdimm_bus_unregister(struct nvdimm_bus *nvdimm_bus);
   169  struct nvdimm_bus *to_nvdimm_bus(struct device *dev);
   170  struct nvdimm *to_nvdimm(struct device *dev);
   171  struct nd_region *to_nd_region(struct device *dev);
   172  struct device *nd_region_dev(struct nd_region *nd_region);
   173  struct nd_blk_region *to_nd_blk_region(struct device *dev);
   174  struct nvdimm_bus_descriptor *to_nd_desc(struct nvdimm_bus *nvdimm_bus);
   175  struct device *to_nvdimm_bus_dev(struct nvdimm_bus *nvdimm_bus);
   176  const char *nvdimm_name(struct nvdimm *nvdimm);
   177  struct kobject *nvdimm_kobj(struct nvdimm *nvdimm);
   178  unsigned long nvdimm_cmd_mask(struct nvdimm *nvdimm);
   179  void *nvdimm_provider_data(struct nvdimm *nvdimm);
   180  struct nvdimm *nvdimm_create(struct nvdimm_bus *nvdimm_bus, void 
*provider_data,
   181  const struct attribute_group **groups, unsigned long 
flags,
   182  unsigned long cmd_mask, int num_flush,
   183  struct resource *flush_wpq);
   184  const struct nd_cmd_desc *nd_cmd_dimm_desc(int cmd);
   185  const struct nd_cmd_desc *nd_cmd_bus_desc(int cmd);
   186  u32 nd_cmd_in_size(struct nvdimm *nvdimm, int cmd,
   187  const struct nd_cmd_desc *desc, int idx, void *buf);
   188  u32 nd_cmd_out_size(struct nvdimm *nvdimm, int cmd,
   189  const struct nd_cmd_desc *desc, int idx, const u32 
*in_field,
   190  const u32 *out_field, unsigned long remainder);
   191  int nvdimm_bus_check_dimm_count(struct nvdimm_bus *nvdimm_bus, int 
dimm_count);
   192  struct nd_region *nvdimm_pmem_region_create(struct nvdimm_bus 
*nvdimm_bus,
   193  struct nd_region_desc *ndr_desc);
   194  struct nd_region *nvdimm_blk_region_create(struct nvdimm_bus 
*nvdimm_bus,
   195  struct nd_region_desc *ndr_desc);
   196  struct nd_region *nvdimm_volatile_region_create(struct nvdimm_bus 
*nvdimm_bus,
   197  struct nd_region_desc *ndr_desc);
   198  void *nd_region_provider_data(struct nd_region *nd_region);
   199  void *nd_blk_region_provider_data(struct nd_blk_region *ndbr);
   200  void nd_blk_region_set_provider_data(struct nd_blk_region *ndbr, void 
*data);
   201  struct nvdimm *nd_blk_region_to_dimm(struct nd_blk_region *ndbr);
   202  unsigned long nd_blk_memremap_flags(struct nd_blk_region *ndbr);
   203  unsigned int nd_region_acquire_lane(struct nd_region *nd_region);
   204  void nd_region_release_lane(struct nd_region *nd_region, unsigned int 
lane);
   205  u64 nd_fletcher64(void *addr, size_t len, bool le);
 > 206  int nvdimm_flush(struct nd_region *nd_region, struct bio *bio, bool 
 > async);
   207  int generic_nvdimm_flush(struct nd_region *nd_region);
   208  int nvdimm_has_flush(struct nd_region *nd_region);
   209  int nvdimm_has_cache(struct nd_region *nd_region);
   210  

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH 3/4] mm: Defer ZONE_DEVICE page initialization to the point where we init pgmap

2018-09-11 Thread kbuild test robot
Hi Alexander,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.19-rc3]
[cannot apply to next-20180910]
[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/Alexander-Duyck/Address-issues-slowing-persistent-memory-initialization/20180911-144536
config: openrisc-or1ksim_defconfig (attached as .config)
compiler: or1k-linux-gcc (GCC) 6.0.0 20160327 (experimental)
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=openrisc 

All errors (new ones prefixed by >>):

   mm/page_alloc.c: In function 'memmap_init_zone':
>> mm/page_alloc.c:5566:21: error: 'ZONE_DEVICE' undeclared (first use in this 
>> function)
 } else if (zone == ZONE_DEVICE) {
^~~
   mm/page_alloc.c:5566:21: note: each undeclared identifier is reported only 
once for each function it appears in

vim +/ZONE_DEVICE +5566 mm/page_alloc.c

  5551  
  5552  if (highest_memmap_pfn < end_pfn - 1)
  5553  highest_memmap_pfn = end_pfn - 1;
  5554  
    /*
  5556   * Honor reservation requested by the driver for this 
ZONE_DEVICE
  5557   * memory. We limit the total number of pages to initialize to 
just
  5558   * those that might contain the memory mapping. We will defer 
the
  5559   * ZONE_DEVICE page initialization until after we have released
  5560   * the hotplug lock.
  5561   */
  5562  if (altmap && start_pfn == altmap->base_pfn) {
  5563  start_pfn += altmap->reserve;
  5564  end_pfn = altmap->base_pfn +
  5565vmem_altmap_offset(altmap);
> 5566  } else if (zone == ZONE_DEVICE) {
  5567  end_pfn = start_pfn;
  5568  }
  5569  
  5570  for (pfn = start_pfn; pfn < end_pfn; pfn++) {
  5571  /*
  5572   * There can be holes in boot-time mem_map[]s handed to 
this
  5573   * function.  They do not exist on hotplugged memory.
  5574   */
  5575  if (context != MEMMAP_EARLY)
  5576  goto not_early;
  5577  
  5578  if (!early_pfn_valid(pfn))
  5579  continue;
  5580  if (!early_pfn_in_nid(pfn, nid))
  5581  continue;
  5582  if (!update_defer_init(pgdat, pfn, end_pfn, 
_initialised))
  5583  break;
  5584  

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH 3/4] mm: Defer ZONE_DEVICE page initialization to the point where we init pgmap

2018-09-11 Thread kbuild test robot
Hi Alexander,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v4.19-rc3]
[cannot apply to next-20180910]
[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/Alexander-Duyck/Address-issues-slowing-persistent-memory-initialization/20180911-144536
config: x86_64-randconfig-x009-201836 (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=x86_64 

All warnings (new ones prefixed by >>):

   In file included from include/asm-generic/bug.h:5:0,
from arch/x86/include/asm/bug.h:83,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from mm/page_alloc.c:18:
   mm/page_alloc.c: In function 'memmap_init_zone':
   mm/page_alloc.c:5566:21: error: 'ZONE_DEVICE' undeclared (first use in this 
function); did you mean 'ZONE_MOVABLE'?
 } else if (zone == ZONE_DEVICE) {
^
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
 if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
 ^~~~
>> mm/page_alloc.c:5566:9: note: in expansion of macro 'if'
 } else if (zone == ZONE_DEVICE) {
^~
   mm/page_alloc.c:5566:21: note: each undeclared identifier is reported only 
once for each function it appears in
 } else if (zone == ZONE_DEVICE) {
^
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
 if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
 ^~~~
>> mm/page_alloc.c:5566:9: note: in expansion of macro 'if'
 } else if (zone == ZONE_DEVICE) {
^~

vim +/if +5566 mm/page_alloc.c

  5551  
  5552  if (highest_memmap_pfn < end_pfn - 1)
  5553  highest_memmap_pfn = end_pfn - 1;
  5554  
    /*
  5556   * Honor reservation requested by the driver for this 
ZONE_DEVICE
  5557   * memory. We limit the total number of pages to initialize to 
just
  5558   * those that might contain the memory mapping. We will defer 
the
  5559   * ZONE_DEVICE page initialization until after we have released
  5560   * the hotplug lock.
  5561   */
  5562  if (altmap && start_pfn == altmap->base_pfn) {
  5563  start_pfn += altmap->reserve;
  5564  end_pfn = altmap->base_pfn +
  5565vmem_altmap_offset(altmap);
> 5566  } else if (zone == ZONE_DEVICE) {
  5567  end_pfn = start_pfn;
  5568  }
  5569  
  5570  for (pfn = start_pfn; pfn < end_pfn; pfn++) {
  5571  /*
  5572   * There can be holes in boot-time mem_map[]s handed to 
this
  5573   * function.  They do not exist on hotplugged memory.
  5574   */
  5575  if (context != MEMMAP_EARLY)
  5576  goto not_early;
  5577  
  5578  if (!early_pfn_valid(pfn))
  5579  continue;
  5580  if (!early_pfn_in_nid(pfn, nid))
  5581  continue;
  5582  if (!update_defer_init(pgdat, pfn, end_pfn, 
_initialised))
  5583  break;
  5584  

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH 3/3] libnvdimm, region_devs: reset related seeds when fail to create namespace

2018-09-10 Thread kbuild test robot
Hi Ocean,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linux-nvdimm/libnvdimm-for-next]
[also build test WARNING on v4.19-rc3 next-20180910]
[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/Ocean-He/libnvdimm-reset-seeds-for-next-namespace-creation/20180911-005505
base:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
reproduce:
# apt-get install sparse
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

   drivers/nvdimm/region_devs.c:84:29: sparse: expression using sizeof(void)
   drivers/nvdimm/region_devs.c:84:29: sparse: expression using sizeof(void)
   drivers/nvdimm/region_devs.c:405:37: sparse: expression using sizeof(void)
   drivers/nvdimm/region_devs.c:405:37: sparse: expression using sizeof(void)
>> drivers/nvdimm/region_devs.c:710:6: sparse: symbol 
>> 'nd_region_detach_and_reset' was not declared. Should it be static?
   drivers/nvdimm/region_devs.c:1127:31: sparse: expression using sizeof(void)
   drivers/nvdimm/region_devs.c:985:9: sparse: context imbalance in 
'nd_region_acquire_lane' - wrong count at exit
   drivers/nvdimm/region_devs.c:998:36: sparse: context imbalance in 
'nd_region_release_lane' - unexpected unlock

Please review and possibly fold the followup patch.

---
0-DAY kernel test infrastructureOpen 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


[RFC PATCH] libnvdimm, region_devs: nd_region_detach_and_reset() can be static

2018-09-10 Thread kbuild test robot


Fixes: 39ac5d361db2 ("libnvdimm, region_devs: reset related seeds when fail to 
create namespace")
Signed-off-by: kbuild test robot 
---
 region_devs.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c
index 4c46fb6..a2f667e 100644
--- a/drivers/nvdimm/region_devs.c
+++ b/drivers/nvdimm/region_devs.c
@@ -707,7 +707,7 @@ void nd_mapping_free_labels(struct nd_mapping *nd_mapping)
  * To ensure pfn_seed/dax_seed and namespace_seed are ready for
  * next namespace creation, here to do detach and reset.
  */
-void nd_region_detach_and_reset(struct device *dev,
+static void nd_region_detach_and_reset(struct device *dev,
struct nd_region *nd_region)
 {
/* Only nd_pmem has been verified, fix me for other dev type. */
___
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm


Re: [PATCH 3/3] virtio-pmem: Add virtio pmem driver

2018-09-05 Thread kbuild test robot
Hi Pankaj,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linux-nvdimm/libnvdimm-for-next]
[also build test ERROR on v4.19-rc2 next-20180905]
[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/Pankaj-Gupta/kvm-fake-DAX-device/20180903-160032
base:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
config: i386-allyesconfig (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/virtio/virtio_pmem.o: In function `virtio_pmem_remove':
>> virtio_pmem.c:(.text+0x299): undefined reference to `nvdimm_bus_unregister'
   drivers/virtio/virtio_pmem.o: In function `virtio_pmem_probe':
>> virtio_pmem.c:(.text+0x5e3): undefined reference to `nvdimm_bus_register'
>> virtio_pmem.c:(.text+0x62a): undefined reference to 
>> `nvdimm_pmem_region_create'
   virtio_pmem.c:(.text+0x63b): undefined reference to `nvdimm_bus_unregister'

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH 2/3] libnvdimm: nd_region flush callback support

2018-09-04 Thread kbuild test robot
Hi Pankaj,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linux-nvdimm/libnvdimm-for-next]
[also build test WARNING on v4.19-rc2 next-20180831]
[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/Pankaj-Gupta/kvm-fake-DAX-device/20180903-160032
base:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
reproduce:
# apt-get install sparse
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__
:: branch date: 7 hours ago
:: commit date: 7 hours ago

   drivers/nvdimm/pmem.c:116:25: sparse: expression using sizeof(void)
   drivers/nvdimm/pmem.c:135:25: sparse: expression using sizeof(void)
>> drivers/nvdimm/pmem.c:204:32: sparse: incorrect type in assignment 
>> (different base types) @@expected restricted blk_status_t [usertype] 
>> bi_status @@got e] bi_status @@
   drivers/nvdimm/pmem.c:204:32:expected restricted blk_status_t [usertype] 
bi_status
   drivers/nvdimm/pmem.c:204:32:got int
   drivers/nvdimm/pmem.c:208:9: sparse: expression using sizeof(void)
   drivers/nvdimm/pmem.c:208:9: sparse: expression using sizeof(void)
   include/linux/bvec.h:82:37: sparse: expression using sizeof(void)
   include/linux/bvec.h:82:37: sparse: expression using sizeof(void)
   include/linux/bvec.h:83:32: sparse: expression using sizeof(void)
   include/linux/bvec.h:83:32: sparse: expression using sizeof(void)
   drivers/nvdimm/pmem.c:220:32: sparse: incorrect type in assignment 
(different base types) @@expected restricted blk_status_t [usertype] 
bi_status @@got e] bi_status @@
   drivers/nvdimm/pmem.c:220:32:expected restricted blk_status_t [usertype] 
bi_status
   drivers/nvdimm/pmem.c:220:32:got int

# 
https://github.com/0day-ci/linux/commit/69b95edd2a1f4676361988fa36866b59427e2cfa
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 69b95edd2a1f4676361988fa36866b59427e2cfa
vim +204 drivers/nvdimm/pmem.c

59e647398 drivers/nvdimm/pmem.c Dan Williams  2016-03-08  107  
bd697a80c drivers/nvdimm/pmem.c Vishal Verma  2016-09-30  108  static void 
write_pmem(void *pmem_addr, struct page *page,
bd697a80c drivers/nvdimm/pmem.c Vishal Verma  2016-09-30  109   
unsigned int off, unsigned int len)
bd697a80c drivers/nvdimm/pmem.c Vishal Verma  2016-09-30  110  {
98cc093cb drivers/nvdimm/pmem.c Huang Ying2017-09-06  111   
unsigned int chunk;
98cc093cb drivers/nvdimm/pmem.c Huang Ying2017-09-06  112   void 
*mem;
bd697a80c drivers/nvdimm/pmem.c Vishal Verma  2016-09-30  113  
98cc093cb drivers/nvdimm/pmem.c Huang Ying2017-09-06  114   while 
(len) {
98cc093cb drivers/nvdimm/pmem.c Huang Ying2017-09-06  115   
mem = kmap_atomic(page);
98cc093cb drivers/nvdimm/pmem.c Huang Ying2017-09-06 @116   
chunk = min_t(unsigned int, len, PAGE_SIZE);
98cc093cb drivers/nvdimm/pmem.c Huang Ying2017-09-06  117   
memcpy_flushcache(pmem_addr, mem + off, chunk);
bd697a80c drivers/nvdimm/pmem.c Vishal Verma  2016-09-30  118   
kunmap_atomic(mem);
98cc093cb drivers/nvdimm/pmem.c Huang Ying2017-09-06  119   
len -= chunk;
98cc093cb drivers/nvdimm/pmem.c Huang Ying2017-09-06  120   
off = 0;
98cc093cb drivers/nvdimm/pmem.c Huang Ying2017-09-06  121   
page++;
98cc093cb drivers/nvdimm/pmem.c Huang Ying2017-09-06  122   
pmem_addr += PAGE_SIZE;
98cc093cb drivers/nvdimm/pmem.c Huang Ying2017-09-06  123   }
bd697a80c drivers/nvdimm/pmem.c Vishal Verma  2016-09-30  124  }
bd697a80c drivers/nvdimm/pmem.c Vishal Verma  2016-09-30  125  
4e4cbee93 drivers/nvdimm/pmem.c Christoph Hellwig 2017-06-03  126  static 
blk_status_t read_pmem(struct page *page, unsigned int off,
bd697a80c drivers/nvdimm/pmem.c Vishal Verma  2016-09-30  127   
void *pmem_addr, unsigned int len)
bd697a80c drivers/nvdimm/pmem.c Vishal Verma  2016-09-30  128  {
98cc093cb drivers/nvdimm/pmem.c Huang Ying2017-09-06  129   
unsigned int chunk;
60622d682 drivers/nvdimm/pmem.c Dan Williams  2018-05-03  130   
unsigned long rem;
98cc093cb drivers/nvdimm/pmem.c Huang Ying2017-09-06  131   void 
*mem;
bd697a80c drivers/nvdimm/pmem.c Vishal Verma  2016-09-30  132  
98cc093cb drivers/nvdimm/pmem.c Huang Ying2017-09-06  133   while 
(len) {
98cc093cb drivers/nvdimm/pmem.c Huang Ying2017-09-06  134   
mem = kmap_atomic(page);
98cc093cb drivers/nvdimm/pmem.c Huang Ying2017-09-06  135   
chunk = min_t(unsigned int, len, PAGE_SIZE);
60622d682 drivers/nvdimm/pmem.c Dan Williams  2018-05-03  136   
rem = memcpy_mcsafe(mem + off, pmem_addr, chunk);

Re: [PATCH 3/3] virtio-pmem: Add virtio pmem driver

2018-09-04 Thread kbuild test robot
Hi Pankaj,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linux-nvdimm/libnvdimm-for-next]
[also build test ERROR on v4.19-rc2 next-20180903]
[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/Pankaj-Gupta/kvm-fake-DAX-device/20180903-160032
base:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
config: i386-randconfig-a3-201835 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 
:: branch date: 21 hours ago
:: commit date: 21 hours ago

All errors (new ones prefixed by >>):

   drivers/virtio/virtio_pmem.o: In function `virtio_pmem_remove':
>> drivers/virtio/virtio_pmem.c:220: undefined reference to 
>> `nvdimm_bus_unregister'
   drivers/virtio/virtio_pmem.o: In function `virtio_pmem_probe':
>> drivers/virtio/virtio_pmem.c:186: undefined reference to 
>> `nvdimm_bus_register'
>> drivers/virtio/virtio_pmem.c:198: undefined reference to 
>> `nvdimm_pmem_region_create'
   drivers/virtio/virtio_pmem.c:207: undefined reference to 
`nvdimm_bus_unregister'

# 
https://github.com/0day-ci/linux/commit/acce2633da18b0ad58d0cc9243a85b03020ca099
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout acce2633da18b0ad58d0cc9243a85b03020ca099
vim +220 drivers/virtio/virtio_pmem.c

acce2633 Pankaj Gupta 2018-08-31  147  
acce2633 Pankaj Gupta 2018-08-31  148  static int virtio_pmem_probe(struct 
virtio_device *vdev)
acce2633 Pankaj Gupta 2018-08-31  149  {
acce2633 Pankaj Gupta 2018-08-31  150   int err = 0;
acce2633 Pankaj Gupta 2018-08-31  151   struct resource res;
acce2633 Pankaj Gupta 2018-08-31  152   struct virtio_pmem *vpmem;
acce2633 Pankaj Gupta 2018-08-31  153   struct nvdimm_bus *nvdimm_bus;
acce2633 Pankaj Gupta 2018-08-31  154   struct nd_region_desc ndr_desc;
acce2633 Pankaj Gupta 2018-08-31  155   int nid = dev_to_node(>dev);
acce2633 Pankaj Gupta 2018-08-31  156   struct nd_region *nd_region;
acce2633 Pankaj Gupta 2018-08-31  157  
acce2633 Pankaj Gupta 2018-08-31  158   if (!vdev->config->get) {
acce2633 Pankaj Gupta 2018-08-31  159   dev_err(>dev, "%s 
failure: config disabled\n",
acce2633 Pankaj Gupta 2018-08-31  160   __func__);
acce2633 Pankaj Gupta 2018-08-31  161   return -EINVAL;
acce2633 Pankaj Gupta 2018-08-31  162   }
acce2633 Pankaj Gupta 2018-08-31  163  
acce2633 Pankaj Gupta 2018-08-31  164   vdev->priv = vpmem = 
devm_kzalloc(>dev, sizeof(*vpmem),
acce2633 Pankaj Gupta 2018-08-31  165   GFP_KERNEL);
acce2633 Pankaj Gupta 2018-08-31  166   if (!vpmem) {
acce2633 Pankaj Gupta 2018-08-31  167   err = -ENOMEM;
acce2633 Pankaj Gupta 2018-08-31  168   goto out_err;
acce2633 Pankaj Gupta 2018-08-31  169   }
acce2633 Pankaj Gupta 2018-08-31  170  
acce2633 Pankaj Gupta 2018-08-31  171   vpmem->vdev = vdev;
acce2633 Pankaj Gupta 2018-08-31  172   err = init_vq(vpmem);
acce2633 Pankaj Gupta 2018-08-31  173   if (err)
acce2633 Pankaj Gupta 2018-08-31  174   goto out_err;
acce2633 Pankaj Gupta 2018-08-31  175  
acce2633 Pankaj Gupta 2018-08-31  176   virtio_cread(vpmem->vdev, struct 
virtio_pmem_config,
acce2633 Pankaj Gupta 2018-08-31  177   start, >start);
acce2633 Pankaj Gupta 2018-08-31  178   virtio_cread(vpmem->vdev, struct 
virtio_pmem_config,
acce2633 Pankaj Gupta 2018-08-31  179   size, >size);
acce2633 Pankaj Gupta 2018-08-31  180  
acce2633 Pankaj Gupta 2018-08-31  181   res.start = vpmem->start;
acce2633 Pankaj Gupta 2018-08-31  182   res.end   = vpmem->start + 
vpmem->size-1;
acce2633 Pankaj Gupta 2018-08-31  183   vpmem->nd_desc.provider_name = 
"virtio-pmem";
acce2633 Pankaj Gupta 2018-08-31  184   vpmem->nd_desc.module = THIS_MODULE;
acce2633 Pankaj Gupta 2018-08-31  185  
acce2633 Pankaj Gupta 2018-08-31 @186   vpmem->nvdimm_bus = nvdimm_bus = 
nvdimm_bus_register(>dev,
acce2633 Pankaj Gupta 2018-08-31  187   
>nd_desc);
acce2633 Pankaj Gupta 2018-08-31  188   if (!nvdimm_bus)
acce2633 Pankaj Gupta 2018-08-31  189   goto out_vq;
acce2633 Pankaj Gupta 2018-08-31  190  
acce2633 Pankaj Gupta 2018-08-31  191   dev_set_drvdata(>dev, nvdimm_bus);
acce2633 Pankaj Gupta 2018-08-31  192   memset(_desc, 0, sizeof(ndr_desc));
acce2633 Pankaj Gupta 2018-08-31  193  
acce2633 Pankaj Gupta 2018-08-31  194   ndr_desc.res = 
acce2633 Pankaj Gupta 2018-08-31  195   ndr_desc.numa_node = nid;
acce2633 Pankaj Gupta 2018-08-31  196   ndr_desc.flush = virtio_pmem_flush;
acce2633 Pankaj Gupta 2018-08-31  197   set_bit(ND_REGION_PAGEMAP, 
_desc.flags);
acce2633 Pankaj Gupta 2018-08-31 @198   nd_region = 
nvdimm_pmem_region_create(nvdimm_bus, _desc);
acce2633 Pankaj Gupta 2018-08-31  199  
acce2633 Pankaj Gupta 2018-08-31  200   if 

Re: [PATCH v5 07/11] filesystem-dax: Introduce dax_lock_mapping_entry()

2018-07-04 Thread kbuild test robot
Hi Dan,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.18-rc3]
[cannot apply to next-20180704]
[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/Dan-Williams/device-dax-Convert-to-vmf_insert_mixed-and-vm_fault_t/20180705-075150
config: openrisc-or1ksim_defconfig (attached as .config)
compiler: or1k-linux-gcc (GCC) 6.0.0 20160327 (experimental)
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=openrisc 

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

   In file included from include/linux/mempolicy.h:11:0,
from init/main.c:56:
   include/linux/dax.h: In function 'dax_lock_mapping_entry':
   include/linux/dax.h:128:15: error: 'page' redeclared as different kind of 
symbol
 struct page *page = pfn_to_page(pfn);
  ^~~~
   include/linux/dax.h:126:56: note: previous definition of 'page' was here
static inline bool dax_lock_mapping_entry(struct page *page)
   ^~~~
   In file included from arch/openrisc/include/asm/page.h:98:0,
from arch/openrisc/include/asm/processor.h:23,
from arch/openrisc/include/asm/thread_info.h:26,
from include/linux/thread_info.h:38,
from include/asm-generic/preempt.h:5,
from ./arch/openrisc/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:81,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/linux/stat.h:19,
from include/linux/module.h:10,
from init/main.c:16:
>> include/linux/dax.h:128:34: error: 'pfn' undeclared (first use in this 
>> function)
 struct page *page = pfn_to_page(pfn);
 ^
   include/asm-generic/memory_model.h:33:41: note: in definition of macro 
'__pfn_to_page'
#define __pfn_to_page(pfn) (mem_map + ((pfn) - ARCH_PFN_OFFSET))
^~~
>> include/linux/dax.h:128:22: note: in expansion of macro 'pfn_to_page'
 struct page *page = pfn_to_page(pfn);
 ^~~
   include/linux/dax.h:128:34: note: each undeclared identifier is reported 
only once for each function it appears in
 struct page *page = pfn_to_page(pfn);
 ^
   include/asm-generic/memory_model.h:33:41: note: in definition of macro 
'__pfn_to_page'
#define __pfn_to_page(pfn) (mem_map + ((pfn) - ARCH_PFN_OFFSET))
^~~
>> include/linux/dax.h:128:22: note: in expansion of macro 'pfn_to_page'
 struct page *page = pfn_to_page(pfn);
 ^~~
   In file included from include/linux/mempolicy.h:11:0,
from init/main.c:56:
   include/linux/dax.h: In function 'dax_lock_page':
   include/linux/dax.h:141:1: warning: no return statement in function 
returning non-void [-Wreturn-type]
}
^

vim +/pfn +128 include/linux/dax.h

   124  
   125  
   126  static inline bool dax_lock_mapping_entry(struct page *page)
   127  {
 > 128  struct page *page = pfn_to_page(pfn);
   129  
   130  if (IS_DAX(page->mapping->host))
   131  return true;
   132  return false;
   133  }
   134  

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v5 07/11] filesystem-dax: Introduce dax_lock_mapping_entry()

2018-07-04 Thread kbuild test robot
Hi Dan,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.18-rc3]
[cannot apply to next-20180704]
[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/Dan-Williams/device-dax-Convert-to-vmf_insert_mixed-and-vm_fault_t/20180705-075150
config: x86_64-acpi-redef (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

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

   In file included from fs/ext2/file.c:24:0:
   include/linux/dax.h: In function 'dax_lock_mapping_entry':
>> include/linux/dax.h:128:15: error: 'page' redeclared as different kind of 
>> symbol
 struct page *page = pfn_to_page(pfn);
  ^~~~
   include/linux/dax.h:126:56: note: previous definition of 'page' was here
static inline bool dax_lock_mapping_entry(struct page *page)
   ^~~~
   In file included from arch/x86/include/asm/page.h:76:0,
from arch/x86/include/asm/thread_info.h:12,
from include/linux/thread_info.h:38,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:81,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from fs/ext2/file.c:22:
>> include/linux/dax.h:128:34: error: 'pfn' undeclared (first use in this 
>> function); did you mean '__pfn'?
 struct page *page = pfn_to_page(pfn);
 ^
   include/asm-generic/memory_model.h:69:27: note: in definition of macro 
'__pfn_to_page'
({ unsigned long __pfn = (pfn);   \
  ^~~
   include/linux/dax.h:128:22: note: in expansion of macro 'pfn_to_page'
 struct page *page = pfn_to_page(pfn);
 ^~~
   include/linux/dax.h:128:34: note: each undeclared identifier is reported 
only once for each function it appears in
 struct page *page = pfn_to_page(pfn);
 ^
   include/asm-generic/memory_model.h:69:27: note: in definition of macro 
'__pfn_to_page'
({ unsigned long __pfn = (pfn);   \
  ^~~
   include/linux/dax.h:128:22: note: in expansion of macro 'pfn_to_page'
 struct page *page = pfn_to_page(pfn);
 ^~~
   In file included from fs/ext2/file.c:24:0:
   include/linux/dax.h: In function 'dax_lock_page':
>> include/linux/dax.h:141:1: warning: no return statement in function 
>> returning non-void [-Wreturn-type]
}
^

vim +/page +128 include/linux/dax.h

   124  
   125  
   126  static inline bool dax_lock_mapping_entry(struct page *page)
   127  {
 > 128  struct page *page = pfn_to_page(pfn);
   129  
   130  if (IS_DAX(page->mapping->host))
   131  return true;
   132  return false;
   133  }
   134  
   135  void dax_unlock_mapping_entry(struct page *page)
   136  {
   137  }
   138  
   139  static inline struct page *dax_lock_page(unsigned long pfn)
   140  {
 > 141  }
   142  

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v6 2/4] resource: Use list_head to link sibling resource

2018-07-04 Thread kbuild test robot
Hi Baoquan,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.18-rc3 next-20180704]
[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/Baoquan-He/resource-Use-list_head-to-link-sibling-resource/20180704-121402
config: mips-rb532_defconfig (attached as .config)
compiler: mipsel-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.2.0 make.cross ARCH=mips 

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

>> arch/mips/pci/pci-rc32434.c:57:11: error: initialization from incompatible 
>> pointer type [-Werror=incompatible-pointer-types]
 .child = _res_pci_mem2
  ^
   arch/mips/pci/pci-rc32434.c:57:11: note: (near initialization for 
'rc32434_res_pci_mem1.child.next')
>> arch/mips/pci/pci-rc32434.c:51:47: warning: missing braces around 
>> initializer [-Wmissing-braces]
static struct resource rc32434_res_pci_mem1 = {
  ^
   arch/mips/pci/pci-rc32434.c:60:47: warning: missing braces around 
initializer [-Wmissing-braces]
static struct resource rc32434_res_pci_mem2 = {
  ^
   cc1: some warnings being treated as errors

vim +57 arch/mips/pci/pci-rc32434.c

73b4390f Ralf Baechle 2008-07-16  50  
73b4390f Ralf Baechle 2008-07-16 @51  static struct resource 
rc32434_res_pci_mem1 = {
73b4390f Ralf Baechle 2008-07-16  52.name = "PCI MEM1",
73b4390f Ralf Baechle 2008-07-16  53.start = 0x5000,
73b4390f Ralf Baechle 2008-07-16  54.end = 0x5FFF,
73b4390f Ralf Baechle 2008-07-16  55.flags = IORESOURCE_MEM,
73b4390f Ralf Baechle 2008-07-16  56.sibling = NULL,
73b4390f Ralf Baechle 2008-07-16 @57.child = _res_pci_mem2
73b4390f Ralf Baechle 2008-07-16  58  };
73b4390f Ralf Baechle 2008-07-16  59  

:: The code at line 57 was first introduced by commit
:: 73b4390fb23456964201abda79f1210fe337d01a [MIPS] Routerboard 532: Support 
for base system

:: TO: Ralf Baechle 
:: CC: Ralf Baechle 

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v6 2/4] resource: Use list_head to link sibling resource

2018-07-04 Thread kbuild test robot
Hi Baoquan,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.18-rc3 next-20180704]
[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/Baoquan-He/resource-Use-list_head-to-link-sibling-resource/20180704-121402
config: ia64-allnoconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 8.1.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=8.1.0 make.cross ARCH=ia64 

All errors (new ones prefixed by >>):

   arch/ia64/sn/kernel/io_init.c: In function 'sn_io_slot_fixup':
>> arch/ia64/sn/kernel/io_init.c:195:19: error: invalid operands to binary && 
>> (have 'int' and 'struct list_head')
  if (res->parent && res->parent->child)
  ~~~ ^~ ~~

vim +195 arch/ia64/sn/kernel/io_init.c

^1da177e Linus Torvalds  2005-04-16  142  
3ec829b6 John Keller 2005-11-29  143  /*
6f09a925 John Keller 2007-01-30  144   * sn_io_slot_fixup() -   We are not 
running with an ACPI capable PROM,
8ea6091f John Keller 2006-10-04  145   *  and need to 
convert the pci_dev->resource
8ea6091f John Keller 2006-10-04  146   *  'start' and 
'end' addresses to mapped addresses,
8ea6091f John Keller 2006-10-04  147   *  and setup the 
pci_controller->window array entries.
^1da177e Linus Torvalds  2005-04-16  148   */
8ea6091f John Keller 2006-10-04  149  void
6f09a925 John Keller 2007-01-30  150  sn_io_slot_fixup(struct pci_dev *dev)
^1da177e Linus Torvalds  2005-04-16  151  {
^1da177e Linus Torvalds  2005-04-16  152int idx;
ab97b8cc Bjorn Helgaas   2016-03-02  153struct resource *res;
18c25526 Matt Fleming2016-05-04  154unsigned long size;
6f09a925 John Keller 2007-01-30  155struct pcidev_info *pcidev_info;
6f09a925 John Keller 2007-01-30  156struct sn_irq_info *sn_irq_info;
6f09a925 John Keller 2007-01-30  157int status;
6f09a925 John Keller 2007-01-30  158  
6f09a925 John Keller 2007-01-30  159pcidev_info = 
kzalloc(sizeof(struct pcidev_info), GFP_KERNEL);
6f09a925 John Keller 2007-01-30  160if (!pcidev_info)
d4ed8084 Harvey Harrison 2008-03-04  161panic("%s: Unable to 
alloc memory for pcidev_info", __func__);
6f09a925 John Keller 2007-01-30  162  
6f09a925 John Keller 2007-01-30  163sn_irq_info = 
kzalloc(sizeof(struct sn_irq_info), GFP_KERNEL);
6f09a925 John Keller 2007-01-30  164if (!sn_irq_info)
d4ed8084 Harvey Harrison 2008-03-04  165panic("%s: Unable to 
alloc memory for sn_irq_info", __func__);
6f09a925 John Keller 2007-01-30  166  
6f09a925 John Keller 2007-01-30  167/* Call to retrieve pci device 
information needed by kernel. */
6f09a925 John Keller 2007-01-30  168status = 
sal_get_pcidev_info((u64) pci_domain_nr(dev),
6f09a925 John Keller 2007-01-30  169(u64) dev->bus->number,
6f09a925 John Keller 2007-01-30  170dev->devfn,
6f09a925 John Keller 2007-01-30  171(u64) __pa(pcidev_info),
6f09a925 John Keller 2007-01-30  172(u64) 
__pa(sn_irq_info));
6f09a925 John Keller 2007-01-30  173  
80a03e29 Stoyan Gaydarov 2009-03-10  174BUG_ON(status); /* Cannot get 
platform pci device information */
6f09a925 John Keller 2007-01-30  175  
3ec829b6 John Keller 2005-11-29  176  
^1da177e Linus Torvalds  2005-04-16  177/* Copy over PIO Mapped 
Addresses */
^1da177e Linus Torvalds  2005-04-16  178for (idx = 0; idx <= 
PCI_ROM_RESOURCE; idx++) {
ab97b8cc Bjorn Helgaas   2016-03-02  179if 
(!pcidev_info->pdi_pio_mapped_addr[idx])
^1da177e Linus Torvalds  2005-04-16  180continue;
^1da177e Linus Torvalds  2005-04-16  181  
ab97b8cc Bjorn Helgaas   2016-03-02  182res = 
>resource[idx];
ab97b8cc Bjorn Helgaas   2016-03-02  183  
ab97b8cc Bjorn Helgaas   2016-03-02  184size = res->end - 
res->start;
ab97b8cc Bjorn Helgaas   2016-03-02  185if (size == 0)
3ec829b6 John Keller 2005-11-29  186continue;
ab97b8cc Bjorn Helgaas   2016-03-02  187  
240504ad Bjorn Helgaas   2016-03-02  188res->start = 
pcidev_info->pdi_pio_mapped_addr[idx];
18c25526 Matt Fleming2016-05-04  189res->end = res->start + 
size;
64715725 Bernhard Walle  2007-03-18  190  
64715725 Bernhard Walle  2007-03-18  191/*
64715725 Bernhard Walle  2007-03-18  192 * if it's already in 
the device structure, remove it before
64715725 Bernhard Walle  2007-03-18 

Re: [PATCH v5 2/4] resource: Use list_head to link sibling resource

2018-06-11 Thread kbuild test robot
Hi Baoquan,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v4.17 next-20180608]
[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/Baoquan-He/resource-Use-list_head-to-link-sibling-resource/20180612-113600
config: x86_64-randconfig-x011-201823 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   kernel/resource.c: In function 'reparent_resources':
   kernel/resource.c:1005:26: error: passing argument 2 of 'list_add' from 
incompatible pointer type [-Werror=incompatible-pointer-types]
 list_add(>sibling, >sibling.prev);
 ^
   In file included from include/linux/ioport.h:15:0,
from kernel/resource.c:14:
   include/linux/list.h:77:20: note: expected 'struct list_head *' but argument 
is of type 'struct list_head **'
static inline void list_add(struct list_head *new, struct list_head *head)
   ^~~~
   In file included from include/linux/list.h:9:0,
from include/linux/ioport.h:15,
from kernel/resource.c:14:
   kernel/resource.c:1013:26: error: 'new' undeclared (first use in this 
function); did you mean 'net'?
 list_for_each_entry(p, >child, sibling) {
 ^
   include/linux/kernel.h:963:26: note: in definition of macro 'container_of'
 void *__mptr = (void *)(ptr); \
 ^~~
   include/linux/list.h:377:2: note: in expansion of macro 'list_entry'
 list_entry((ptr)->next, type, member)
 ^~
   include/linux/list.h:464:13: note: in expansion of macro 'list_first_entry'
 for (pos = list_first_entry(head, typeof(*pos), member); \
^~~~
>> kernel/resource.c:1013:2: note: in expansion of macro 'list_for_each_entry'
 list_for_each_entry(p, >child, sibling) {
 ^~~
   kernel/resource.c:1013:26: note: each undeclared identifier is reported only 
once for each function it appears in
 list_for_each_entry(p, >child, sibling) {
 ^
   include/linux/kernel.h:963:26: note: in definition of macro 'container_of'
 void *__mptr = (void *)(ptr); \
 ^~~
   include/linux/list.h:377:2: note: in expansion of macro 'list_entry'
 list_entry((ptr)->next, type, member)
 ^~
   include/linux/list.h:464:13: note: in expansion of macro 'list_first_entry'
 for (pos = list_first_entry(head, typeof(*pos), member); \
^~~~
>> kernel/resource.c:1013:2: note: in expansion of macro 'list_for_each_entry'
 list_for_each_entry(p, >child, sibling) {
 ^~~
   cc1: some warnings being treated as errors

vim +/list_for_each_entry +1013 kernel/resource.c

   983  
   984  /*
   985   * Reparent resource children of pr that conflict with res
   986   * under res, and make res replace those children.
   987   */
   988  int reparent_resources(struct resource *parent, struct resource *res)
   989  {
   990  struct resource *p, *first = NULL;
   991  
   992  list_for_each_entry(p, >child, sibling) {
   993  if (p->end < res->start)
   994  continue;
   995  if (res->end < p->start)
   996  break;
   997  if (p->start < res->start || p->end > res->end)
   998  return -1;  /* not completely contained */
   999  if (first == NULL)
  1000  first = p;
  1001  }
  1002  if (first == NULL)
  1003  return -1;  /* didn't find any conflicting entries? 
*/
  1004  res->parent = parent;
  1005  list_add(>sibling, >sibling.prev);
  1006  INIT_LIST_HEAD(>child);
  1007  
  1008  /*
  1009   * From first to p's previous sibling, they all fall into
  1010   * res's region, change them as res's children.
  1011   */
  1012  list_cut_position(>child, first->sibling.prev, 
res->sibling.prev);
> 1013  list_for_each_entry(p, >child, sibling) {
  1014  p->parent = new;
  1015  pr_debug("PCI: Reparented %s %pR under %s\n",
  1016   p->name, p, res->name);
  1017  }
  1018  return 0;
  1019  }
  1020  EXPORT_SYMBOL(reparent_resources);
  1021  

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation
___
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org

Re: [PATCH v5 2/4] resource: Use list_head to link sibling resource

2018-06-11 Thread kbuild test robot
Hi Baoquan,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.17 next-20180608]
[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/Baoquan-He/resource-Use-list_head-to-link-sibling-resource/20180612-113600
config: i386-tinyconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

All errors (new ones prefixed by >>):

   kernel/resource.c: In function 'reparent_resources':
>> kernel/resource.c:1005:26: error: passing argument 2 of 'list_add' from 
>> incompatible pointer type [-Werror=incompatible-pointer-types]
 list_add(>sibling, >sibling.prev);
 ^
   In file included from include/linux/ioport.h:15:0,
from kernel/resource.c:14:
   include/linux/list.h:77:20: note: expected 'struct list_head *' but argument 
is of type 'struct list_head **'
static inline void list_add(struct list_head *new, struct list_head *head)
   ^~~~
   In file included from include/linux/list.h:9:0,
from include/linux/ioport.h:15,
from kernel/resource.c:14:
>> kernel/resource.c:1013:26: error: 'new' undeclared (first use in this 
>> function); did you mean 'net'?
 list_for_each_entry(p, >child, sibling) {
 ^
   include/linux/kernel.h:963:26: note: in definition of macro 'container_of'
 void *__mptr = (void *)(ptr); \
 ^~~
   include/linux/list.h:377:2: note: in expansion of macro 'list_entry'
 list_entry((ptr)->next, type, member)
 ^~
   include/linux/list.h:464:13: note: in expansion of macro 'list_first_entry'
 for (pos = list_first_entry(head, typeof(*pos), member); \
^~~~
   kernel/resource.c:1013:2: note: in expansion of macro 'list_for_each_entry'
 list_for_each_entry(p, >child, sibling) {
 ^~~
   kernel/resource.c:1013:26: note: each undeclared identifier is reported only 
once for each function it appears in
 list_for_each_entry(p, >child, sibling) {
 ^
   include/linux/kernel.h:963:26: note: in definition of macro 'container_of'
 void *__mptr = (void *)(ptr); \
 ^~~
   include/linux/list.h:377:2: note: in expansion of macro 'list_entry'
 list_entry((ptr)->next, type, member)
 ^~
   include/linux/list.h:464:13: note: in expansion of macro 'list_first_entry'
 for (pos = list_first_entry(head, typeof(*pos), member); \
^~~~
   kernel/resource.c:1013:2: note: in expansion of macro 'list_for_each_entry'
 list_for_each_entry(p, >child, sibling) {
 ^~~
   cc1: some warnings being treated as errors

vim +/list_add +1005 kernel/resource.c

   983  
   984  /*
   985   * Reparent resource children of pr that conflict with res
   986   * under res, and make res replace those children.
   987   */
   988  int reparent_resources(struct resource *parent, struct resource *res)
   989  {
   990  struct resource *p, *first = NULL;
   991  
   992  list_for_each_entry(p, >child, sibling) {
   993  if (p->end < res->start)
   994  continue;
   995  if (res->end < p->start)
   996  break;
   997  if (p->start < res->start || p->end > res->end)
   998  return -1;  /* not completely contained */
   999  if (first == NULL)
  1000  first = p;
  1001  }
  1002  if (first == NULL)
  1003  return -1;  /* didn't find any conflicting entries? 
*/
  1004  res->parent = parent;
> 1005  list_add(>sibling, >sibling.prev);
  1006  INIT_LIST_HEAD(>child);
  1007  
  1008  /*
  1009   * From first to p's previous sibling, they all fall into
  1010   * res's region, change them as res's children.
  1011   */
  1012  list_cut_position(>child, first->sibling.prev, 
res->sibling.prev);
> 1013  list_for_each_entry(p, >child, sibling) {
  1014  p->parent = new;
  1015  pr_debug("PCI: Reparented %s %pR under %s\n",
  1016   p->name, p, res->name);
  1017  }
  1018  return 0;
  1019  }
  1020  EXPORT_SYMBOL(reparent_resources);
  1021  

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v5 1/4] resource: Move reparent_resources() to kernel/resource.c and make it public

2018-06-11 Thread kbuild test robot
Hi Baoquan,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.17 next-20180608]
[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/Baoquan-He/resource-Use-list_head-to-link-sibling-resource/20180612-113600
config: i386-tinyconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

Note: the 
linux-review/Baoquan-He/resource-Use-list_head-to-link-sibling-resource/20180612-113600
 HEAD 5545e79eef6387857faf41cdffa7be6b1f5d4efe builds fine.
  It only hurts bisectibility.

All errors (new ones prefixed by >>):

>> kernel/resource.c:990:12: error: static declaration of 'reparent_resources' 
>> follows non-static declaration
static int reparent_resources(struct resource *parent,
   ^~
   In file included from kernel/resource.c:14:0:
   include/linux/ioport.h:195:5: note: previous declaration of 
'reparent_resources' was here
int reparent_resources(struct resource *parent, struct resource *res);
^~
   kernel/resource.c:990:12: warning: 'reparent_resources' defined but not used 
[-Wunused-function]
static int reparent_resources(struct resource *parent,
   ^~

vim +/reparent_resources +990 kernel/resource.c

   985  
   986  /*
   987   * Reparent resource children of pr that conflict with res
   988   * under res, and make res replace those children.
   989   */
 > 990  static int reparent_resources(struct resource *parent,
   991   struct resource *res)
   992  {
   993  struct resource *p, **pp;
   994  struct resource **firstpp = NULL;
   995  
   996  for (pp = >child; (p = *pp) != NULL; pp = >sibling) {
   997  if (p->end < res->start)
   998  continue;
   999  if (res->end < p->start)
  1000  break;
  1001  if (p->start < res->start || p->end > res->end)
  1002  return -1;  /* not completely contained */
  1003  if (firstpp == NULL)
  1004  firstpp = pp;
  1005  }
  1006  if (firstpp == NULL)
  1007  return -1;  /* didn't find any conflicting entries? 
*/
  1008  res->parent = parent;
  1009  res->child = *firstpp;
  1010  res->sibling = *pp;
  1011  *firstpp = res;
  1012  *pp = NULL;
  1013  for (p = res->child; p != NULL; p = p->sibling) {
  1014  p->parent = res;
  1015  pr_debug("PCI: Reparented %s %pR under %s\n",
  1016   p->name, p, res->name);
  1017  }
  1018  return 0;
  1019  }
  1020  EXPORT_SYMBOL(reparent_resources);
  1021  

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH 03/11] device-dax: enable page_mapping()

2018-05-30 Thread kbuild test robot
Hi Dan,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.17-rc7 next-20180530]
[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/Dan-Williams/mm-Teach-memory_failure-about-ZONE_DEVICE-pages/20180525-035652
config: arm64-allmodconfig (attached as .config)
compiler: aarch64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=arm64 

All errors (new ones prefixed by >>):

   drivers//dax/device.c: In function 'dev_dax_huge_fault':
>> drivers//dax/device.c:413:8: error: too many arguments to function 
>> '__dev_dax_pud_fault'
  rc = __dev_dax_pud_fault(dev_dax, vmf, );
   ^~~
   drivers//dax/device.c:380:19: note: declared here
static vm_fault_t __dev_dax_pud_fault(struct dev_dax *dev_dax,
  ^~~

vim +/__dev_dax_pud_fault +413 drivers//dax/device.c

   386  
   387  static vm_fault_t dev_dax_huge_fault(struct vm_fault *vmf,
   388  enum page_entry_size pe_size)
   389  {
   390  struct vm_area_struct *vma = vmf->vma;
   391  struct file *filp = vma->vm_file;
   392  unsigned long fault_size;
   393  int rc, id;
   394  pfn_t pfn;
   395  struct dev_dax *dev_dax = filp->private_data;
   396  
   397  dev_dbg(_dax->dev, "%s: %s (%#lx - %#lx) size = %d\n", 
current->comm,
   398  (vmf->flags & FAULT_FLAG_WRITE) ? "write" : 
"read",
   399  vma->vm_start, vma->vm_end, pe_size);
   400  
   401  id = dax_read_lock();
   402  switch (pe_size) {
   403  case PE_SIZE_PTE:
   404  fault_size = PAGE_SIZE;
   405  rc = __dev_dax_pte_fault(dev_dax, vmf, );
   406  break;
   407  case PE_SIZE_PMD:
   408  fault_size = PMD_SIZE;
   409  rc = __dev_dax_pmd_fault(dev_dax, vmf, );
   410  break;
   411  case PE_SIZE_PUD:
   412  fault_size = PUD_SIZE;
 > 413  rc = __dev_dax_pud_fault(dev_dax, vmf, );
   414  break;
   415  default:
   416  rc = VM_FAULT_SIGBUS;
   417  }
   418  
   419  if (rc == VM_FAULT_NOPAGE) {
   420  unsigned long i;
   421  
   422  for (i = 0; i < fault_size / PAGE_SIZE; i++) {
   423  struct page *page;
   424  
   425  page = pfn_to_page(pfn_t_to_pfn(pfn) + i);
   426  if (page->mapping)
   427  continue;
   428  page->mapping = filp->f_mapping;
   429  }
   430  }
   431  dax_read_unlock(id);
   432  
   433  return rc;
   434  }
   435  

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH 1/7] fs: allow per-device dax status checking for filesystems

2018-05-26 Thread kbuild test robot
Hi Darrick,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.17-rc6]
[cannot apply to dm/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/Ross-Zwisler/Fix-DM-DAX-handling/20180526-212746
config: i386-randconfig-x014-201820 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 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:85:5: error: redefinition of 'bdev_dax_supported'
int bdev_dax_supported(struct block_device *bdev, int blocksize)
^~
   In file included from drivers//dax/super.c:23:0:
   include/linux/dax.h:82:19: note: previous definition of 'bdev_dax_supported' 
was here
static inline int bdev_dax_supported(struct block_device *bdev,
  ^~

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

74  
75  /**
76   * bdev_dax_supported() - Check if the device supports dax for 
filesystem
77   * @bdev: block device to check
78   * @blocksize: The block size of the device
79   *
80   * This is a library function for filesystems to check if the block 
device
81   * can be mounted with dax option.
82   *
83   * Return: negative errno if unsupported, 0 if supported.
84   */
  > 85  int bdev_dax_supported(struct block_device *bdev, int blocksize)
86  {
87  struct dax_device *dax_dev;
88  pgoff_t pgoff;
89  int err, id;
90  void *kaddr;
91  pfn_t pfn;
92  long len;
93  char buf[BDEVNAME_SIZE];
94  
95  if (blocksize != PAGE_SIZE) {
96  pr_debug("%s: error: unsupported blocksize for dax\n",
97  bdevname(bdev, buf));
98  return -EINVAL;
99  }
   100  
   101  err = bdev_dax_pgoff(bdev, 0, PAGE_SIZE, );
   102  if (err) {
   103  pr_debug("%s: error: unaligned partition for dax\n",
   104  bdevname(bdev, buf));
   105  return err;
   106  }
   107  
   108  dax_dev = dax_get_by_host(bdev->bd_disk->disk_name);
   109  if (!dax_dev) {
   110  pr_debug("%s: error: device does not support dax\n",
   111  bdevname(bdev, buf));
   112  return -EOPNOTSUPP;
   113  }
   114  
   115  id = dax_read_lock();
   116  len = dax_direct_access(dax_dev, pgoff, 1, , );
   117  dax_read_unlock(id);
   118  
   119  put_dax(dax_dev);
   120  
   121  if (len < 1) {
   122  pr_debug("%s: error: dax access failed (%ld)\n",
   123  bdevname(bdev, buf), len);
   124  return len < 0 ? len : -EIO;
   125  }
   126  
   127  if (IS_ENABLED(CONFIG_FS_DAX_LIMITED) && pfn_t_special(pfn)) {
   128  /*
   129   * An arch that has enabled the pmem api should also
   130   * have its drivers support pfn_t_devmap()
   131   *
   132   * This is a developer warning and should not trigger in
   133   * production. dax_flush() will crash since it depends
   134   * on being able to do (page_address(pfn_to_page())).
   135   */
   136  WARN_ON(IS_ENABLED(CONFIG_ARCH_HAS_PMEM_API));
   137  } else if (pfn_t_devmap(pfn)) {
   138  /* pass */;
   139  } else {
   140  pr_debug("%s: error: dax support not enabled\n",
   141  bdevname(bdev, buf));
   142  return -EOPNOTSUPP;
   143  }
   144  
   145  return 0;
   146  }
   147  EXPORT_SYMBOL_GPL(bdev_dax_supported);
   148  #endif
   149  

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v4 1/3] resource: Use list_head to link sibling resource

2018-05-07 Thread kbuild test robot
Hi Baoquan,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.17-rc4 next-20180504]
[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/Baoquan-He/resource-Use-list_head-to-link-sibling-resource/20180507-144345
config: arm-allmodconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=arm 

All errors (new ones prefixed by >>):

   arch/arm/plat-samsung/pm-check.c: In function 's3c_pm_run_res':
>> arch/arm/plat-samsung/pm-check.c:49:18: error: invalid operands to binary != 
>> (have 'struct list_head' and 'void *')
  if (ptr->child != NULL)
  ~~ ^~
>> arch/arm/plat-samsung/pm-check.c:50:19: error: incompatible type for 
>> argument 1 of 's3c_pm_run_res'
   s3c_pm_run_res(ptr->child, fn, arg);
  ^~~
   arch/arm/plat-samsung/pm-check.c:46:13: note: expected 'struct resource *' 
but argument is of type 'struct list_head'
static void s3c_pm_run_res(struct resource *ptr, run_fn_t fn, u32 *arg)
^~
>> arch/arm/plat-samsung/pm-check.c:60:7: error: incompatible types when 
>> assigning to type 'struct resource *' from type 'struct list_head'
  ptr = ptr->sibling;
  ^

vim +49 arch/arm/plat-samsung/pm-check.c

549c7e33 arch/arm/plat-s3c/pm-check.c Ben Dooks  2008-12-12  45  
549c7e33 arch/arm/plat-s3c/pm-check.c Ben Dooks  2008-12-12  46  static 
void s3c_pm_run_res(struct resource *ptr, run_fn_t fn, u32 *arg)
549c7e33 arch/arm/plat-s3c/pm-check.c Ben Dooks  2008-12-12  47  {
549c7e33 arch/arm/plat-s3c/pm-check.c Ben Dooks  2008-12-12  48 while 
(ptr != NULL) {
549c7e33 arch/arm/plat-s3c/pm-check.c Ben Dooks  2008-12-12 @49 
if (ptr->child != NULL)
549c7e33 arch/arm/plat-s3c/pm-check.c Ben Dooks  2008-12-12 @50 
s3c_pm_run_res(ptr->child, fn, arg);
549c7e33 arch/arm/plat-s3c/pm-check.c Ben Dooks  2008-12-12  51  
05fee7cf arch/arm/plat-samsung/pm-check.c Toshi Kani 2016-01-26  52 
if ((ptr->flags & IORESOURCE_SYSTEM_RAM)
05fee7cf arch/arm/plat-samsung/pm-check.c Toshi Kani 2016-01-26  53 
== IORESOURCE_SYSTEM_RAM) {
549c7e33 arch/arm/plat-s3c/pm-check.c Ben Dooks  2008-12-12  54 
S3C_PMDBG("Found system RAM at %08lx..%08lx\n",
840eeeb8 arch/arm/plat-s3c/pm-check.c Ben Dooks  2008-12-12  55 
  (unsigned long)ptr->start,
840eeeb8 arch/arm/plat-s3c/pm-check.c Ben Dooks  2008-12-12  56 
  (unsigned long)ptr->end);
549c7e33 arch/arm/plat-s3c/pm-check.c Ben Dooks  2008-12-12  57 
arg = (fn)(ptr, arg);
549c7e33 arch/arm/plat-s3c/pm-check.c Ben Dooks  2008-12-12  58 
}
549c7e33 arch/arm/plat-s3c/pm-check.c Ben Dooks  2008-12-12  59  
549c7e33 arch/arm/plat-s3c/pm-check.c Ben Dooks  2008-12-12 @60 
ptr = ptr->sibling;
549c7e33 arch/arm/plat-s3c/pm-check.c Ben Dooks  2008-12-12  61 }
549c7e33 arch/arm/plat-s3c/pm-check.c Ben Dooks  2008-12-12  62  }
549c7e33 arch/arm/plat-s3c/pm-check.c Ben Dooks  2008-12-12  63  

:: The code at line 49 was first introduced by commit
:: 549c7e33aeb9bfe441ecf68639d2227bb90978e7 [ARM] S3C: Split the resume 
memory check code from pm.c

:: TO: Ben Dooks 
:: CC: Ben Dooks 

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v4 1/3] resource: Use list_head to link sibling resource

2018-05-07 Thread kbuild test robot
Hi Baoquan,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.17-rc4 next-20180504]
[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/Baoquan-He/resource-Use-list_head-to-link-sibling-resource/20180507-144345
config: powerpc-defconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=powerpc 

All errors (new ones prefixed by >>):

   arch/powerpc/kernel/pci-common.c: In function 'pci_process_bridge_OF_ranges':
>> arch/powerpc/kernel/pci-common.c:764:44: error: incompatible types when 
>> assigning to type 'struct list_head' from type 'void *'
   res->parent = res->child = res->sibling = NULL;
   ^
   arch/powerpc/kernel/pci-common.c: In function 'reparent_resources':
>> arch/powerpc/kernel/pci-common.c:1100:10: error: assignment from 
>> incompatible pointer type [-Werror=incompatible-pointer-types]
 for (pp = >child; (p = *pp) != NULL; pp = >sibling) {
 ^
   arch/powerpc/kernel/pci-common.c:1100:50: error: assignment from 
incompatible pointer type [-Werror=incompatible-pointer-types]
 for (pp = >child; (p = *pp) != NULL; pp = >sibling) {
 ^
>> arch/powerpc/kernel/pci-common.c:1113:13: error: incompatible types when 
>> assigning to type 'struct list_head' from type 'struct resource *'
 res->child = *firstpp;
^
   arch/powerpc/kernel/pci-common.c:1114:15: error: incompatible types when 
assigning to type 'struct list_head' from type 'struct resource *'
 res->sibling = *pp;
  ^
>> arch/powerpc/kernel/pci-common.c:1117:9: error: incompatible types when 
>> assigning to type 'struct resource *' from type 'struct list_head'
 for (p = res->child; p != NULL; p = p->sibling) {
^
   arch/powerpc/kernel/pci-common.c:1117:36: error: incompatible types when 
assigning to type 'struct resource *' from type 'struct list_head'
 for (p = res->child; p != NULL; p = p->sibling) {
   ^
   cc1: all warnings being treated as errors

vim +764 arch/powerpc/kernel/pci-common.c

13dccb9e Benjamin Herrenschmidt 2007-12-11  642  
13dccb9e Benjamin Herrenschmidt 2007-12-11  643  /**
13dccb9e Benjamin Herrenschmidt 2007-12-11  644   * 
pci_process_bridge_OF_ranges - Parse PCI bridge resources from device tree
13dccb9e Benjamin Herrenschmidt 2007-12-11  645   * @hose: newly allocated 
pci_controller to be setup
13dccb9e Benjamin Herrenschmidt 2007-12-11  646   * @dev: device node of the 
host bridge
13dccb9e Benjamin Herrenschmidt 2007-12-11  647   * @primary: set if primary 
bus (32 bits only, soon to be deprecated)
13dccb9e Benjamin Herrenschmidt 2007-12-11  648   *
13dccb9e Benjamin Herrenschmidt 2007-12-11  649   * This function will parse 
the "ranges" property of a PCI host bridge device
13dccb9e Benjamin Herrenschmidt 2007-12-11  650   * node and setup the resource 
mapping of a pci controller based on its
13dccb9e Benjamin Herrenschmidt 2007-12-11  651   * content.
13dccb9e Benjamin Herrenschmidt 2007-12-11  652   *
13dccb9e Benjamin Herrenschmidt 2007-12-11  653   * Life would be boring if it 
wasn't for a few issues that we have to deal
13dccb9e Benjamin Herrenschmidt 2007-12-11  654   * with here:
13dccb9e Benjamin Herrenschmidt 2007-12-11  655   *
13dccb9e Benjamin Herrenschmidt 2007-12-11  656   *   - We can only cope with 
one IO space range and up to 3 Memory space
13dccb9e Benjamin Herrenschmidt 2007-12-11  657   * ranges. However, some 
machines (thanks Apple !) tend to split their
13dccb9e Benjamin Herrenschmidt 2007-12-11  658   * space into lots of 
small contiguous ranges. So we have to coalesce.
13dccb9e Benjamin Herrenschmidt 2007-12-11  659   *
13dccb9e Benjamin Herrenschmidt 2007-12-11  660   *   - Some busses have IO 
space not starting at 0, which causes trouble with
13dccb9e Benjamin Herrenschmidt 2007-12-11  661   * the way we do our IO 
resource renumbering. The code somewhat deals with
13dccb9e Benjamin Herrenschmidt 2007-12-11  662   * it for 64 bits but I 
would expect problems on 32 bits.
13dccb9e Benjamin Herrenschmidt 2007-12-11  663   *
13dccb9e Benjamin Herrenschmidt 2007-12-11  664   *   - Some 32 bits platforms 
such as 4xx can have physical space larger than
13dccb9e Benjamin Herrenschmidt 2007-12-11  665   * 32 bits so we need to 
use 64 bits values for the parsing
13dccb9e Benjamin Herrenschmidt 2007-12-11  666   */
cad5cef6 Greg Kroah-Hartman 2012-12-21  667  void 
pci_process_bridge_OF_ranges(struct pci_controller *hose,
cad5cef6 

Re: [PATCH 4/6] x86, memcpy_mcsafe: define copy_to_iter_mcsafe()

2018-05-01 Thread kbuild test robot
Hi Dan,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.17-rc3 next-20180501]
[cannot apply to tip/x86/core]
[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/Dan-Williams/use-memcpy_mcsafe-for-copy_to_iter/20180502-045742
config: i386-tinyconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

All errors (new ones prefixed by >>):

   lib/iov_iter.c: In function 'copyout_mcsafe':
>> lib/iov_iter.c:146:7: error: implicit declaration of function 
>> 'copy_to_user_mcsafe'; did you mean 'copy_to_iter_mcsafe'? 
>> [-Werror=implicit-function-declaration]
  n = copy_to_user_mcsafe((__force void *) to, from, n);
  ^~~
  copy_to_iter_mcsafe
   cc1: some warnings being treated as errors

vim +146 lib/iov_iter.c

   141  
   142  static int copyout_mcsafe(void __user *to, const void *from, size_t n)
   143  {
   144  if (access_ok(VERIFY_WRITE, to, n)) {
   145  kasan_check_read(from, n);
 > 146  n = copy_to_user_mcsafe((__force void *) to, from, n);
   147  }
   148  return n;
   149  }
   150  

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v3 1/3] resource: Use list_head to link sibling resource

2018-04-25 Thread kbuild test robot
Hi Baoquan,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.17-rc2 next-20180424]
[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/Baoquan-He/resource-Use-list_head-to-link-sibling-resource/20180419-223752
config: microblaze-mmu_defconfig (attached as .config)
compiler: microblaze-linux-gcc (GCC) 7.2.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=microblaze 

All errors (new ones prefixed by >>):

   arch/microblaze/pci/pci-common.c: In function 'pci_process_bridge_OF_ranges':
>> arch/microblaze/pci/pci-common.c:536:44: error: incompatible types when 
>> assigning to type 'struct list_head' from type 'void *'
   res->parent = res->child = res->sibling = NULL;
   ^
   arch/microblaze/pci/pci-common.c: In function 'reparent_resources':
>> arch/microblaze/pci/pci-common.c:631:10: error: assignment from incompatible 
>> pointer type [-Werror=incompatible-pointer-types]
 for (pp = >child; (p = *pp) != NULL; pp = >sibling) {
 ^
   arch/microblaze/pci/pci-common.c:631:50: error: assignment from incompatible 
pointer type [-Werror=incompatible-pointer-types]
 for (pp = >child; (p = *pp) != NULL; pp = >sibling) {
 ^
>> arch/microblaze/pci/pci-common.c:644:13: error: incompatible types when 
>> assigning to type 'struct list_head' from type 'struct resource *'
 res->child = *firstpp;
^
   arch/microblaze/pci/pci-common.c:645:15: error: incompatible types when 
assigning to type 'struct list_head' from type 'struct resource *'
 res->sibling = *pp;
  ^
>> arch/microblaze/pci/pci-common.c:648:9: error: incompatible types when 
>> assigning to type 'struct resource *' from type 'struct list_head'
 for (p = res->child; p != NULL; p = p->sibling) {
^
   arch/microblaze/pci/pci-common.c:648:36: error: incompatible types when 
assigning to type 'struct resource *' from type 'struct list_head'
 for (p = res->child; p != NULL; p = p->sibling) {
   ^
   cc1: some warnings being treated as errors

vim +536 arch/microblaze/pci/pci-common.c

d3afa58c Michal Simek2010-01-18  387  
d3afa58c Michal Simek2010-01-18  388  /**
d3afa58c Michal Simek2010-01-18  389   * pci_process_bridge_OF_ranges - 
Parse PCI bridge resources from device tree
d3afa58c Michal Simek2010-01-18  390   * @hose: newly allocated 
pci_controller to be setup
d3afa58c Michal Simek2010-01-18  391   * @dev: device node of the host 
bridge
d3afa58c Michal Simek2010-01-18  392   * @primary: set if primary bus 
(32 bits only, soon to be deprecated)
d3afa58c Michal Simek2010-01-18  393   *
d3afa58c Michal Simek2010-01-18  394   * This function will parse the 
"ranges" property of a PCI host bridge device
d3afa58c Michal Simek2010-01-18  395   * node and setup the resource 
mapping of a pci controller based on its
d3afa58c Michal Simek2010-01-18  396   * content.
d3afa58c Michal Simek2010-01-18  397   *
d3afa58c Michal Simek2010-01-18  398   * Life would be boring if it 
wasn't for a few issues that we have to deal
d3afa58c Michal Simek2010-01-18  399   * with here:
d3afa58c Michal Simek2010-01-18  400   *
d3afa58c Michal Simek2010-01-18  401   *   - We can only cope with one 
IO space range and up to 3 Memory space
d3afa58c Michal Simek2010-01-18  402   * ranges. However, some 
machines (thanks Apple !) tend to split their
d3afa58c Michal Simek2010-01-18  403   * space into lots of small 
contiguous ranges. So we have to coalesce.
d3afa58c Michal Simek2010-01-18  404   *
d3afa58c Michal Simek2010-01-18  405   *   - We can only cope with all 
memory ranges having the same offset
d3afa58c Michal Simek2010-01-18  406   * between CPU addresses and 
PCI addresses. Unfortunately, some bridges
d3afa58c Michal Simek2010-01-18  407   * are setup for a large 1:1 
mapping along with a small "window" which
d3afa58c Michal Simek2010-01-18  408   * maps PCI address 0 to some 
arbitrary high address of the CPU space in
d3afa58c Michal Simek2010-01-18  409   * order to give access to 
the ISA memory hole.
d3afa58c Michal Simek2010-01-18  410   * The way out of here that 
I've chosen for now is to always set the
d3afa58c Michal Simek2010-01-18  411   * offset based on the first 
resource found, then override it if we
d3afa58c Michal Simek2010-01-18  412   * have a different offset 

Re: [PATCH v2 1/3] resource: Use list_head to link sibling resource

2018-04-07 Thread kbuild test robot
Hi Baoquan,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.16 next-20180406]
[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/Baoquan-He/resource-Use-list_head-to-link-sibling-resource/20180408-110108
config: sparc-defconfig (attached as .config)
compiler: sparc-linux-gcc (GCC) 7.2.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=sparc 

All errors (new ones prefixed by >>):

   arch/sparc/kernel/ioport.c: In function 'sparc_io_proc_show':
>> arch/sparc/kernel/ioport.c:672:9: error: incompatible types when assigning 
>> to type 'struct resource *' from type 'struct list_head'
 for (r = root->child; r != NULL; r = r->sibling) {
^
   arch/sparc/kernel/ioport.c:672:37: error: incompatible types when assigning 
to type 'struct resource *' from type 'struct list_head'
 for (r = root->child; r != NULL; r = r->sibling) {
^

vim +672 arch/sparc/kernel/ioport.c

^1da177e4 Linus Torvalds 2005-04-16  666  
e7a088f93 Alexey Dobriyan2009-09-01  667  static int 
sparc_io_proc_show(struct seq_file *m, void *v)
^1da177e4 Linus Torvalds 2005-04-16  668  {
e7a088f93 Alexey Dobriyan2009-09-01  669struct resource *root = 
m->private, *r;
^1da177e4 Linus Torvalds 2005-04-16  670const char *nm;
^1da177e4 Linus Torvalds 2005-04-16  671  
e7a088f93 Alexey Dobriyan2009-09-01 @672for (r = root->child; r != 
NULL; r = r->sibling) {
c31f76518 Sam Ravnborg   2014-04-21  673if ((nm = r->name) == 
NULL) nm = "???";
e7a088f93 Alexey Dobriyan2009-09-01  674seq_printf(m, 
"%016llx-%016llx: %s\n",
685143ac1 Greg Kroah-Hartman 2006-06-12  675
(unsigned long long)r->start,
685143ac1 Greg Kroah-Hartman 2006-06-12  676
(unsigned long long)r->end, nm);
^1da177e4 Linus Torvalds 2005-04-16  677}
^1da177e4 Linus Torvalds 2005-04-16  678  
e7a088f93 Alexey Dobriyan2009-09-01  679return 0;
^1da177e4 Linus Torvalds 2005-04-16  680  }
^1da177e4 Linus Torvalds 2005-04-16  681  

:: The code at line 672 was first introduced by commit
:: e7a088f935180b90cfe6ab0aaae8a556f46885fe sparc: convert /proc/io_map, 
/proc/dvma_map to seq_file

:: TO: Alexey Dobriyan 
:: CC: David S. Miller 

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v2 1/3] resource: Use list_head to link sibling resource

2018-04-07 Thread kbuild test robot
Hi Baoquan,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.16 next-20180406]
[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/Baoquan-He/resource-Use-list_head-to-link-sibling-resource/20180408-110108
config: parisc-c3000_defconfig (attached as .config)
compiler: hppa-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=parisc 

All errors (new ones prefixed by >>):

   drivers//parisc/lba_pci.c: In function 'lba_dump_res':
>> drivers//parisc/lba_pci.c:173:15: error: incompatible type for argument 1 of 
>> 'lba_dump_res'
 lba_dump_res(r->child, d+2);
  ^
   drivers//parisc/lba_pci.c:162:1: note: expected 'struct resource *' but 
argument is of type 'struct list_head'
lba_dump_res(struct resource *r, int d)
^~~~
   drivers//parisc/lba_pci.c:174:15: error: incompatible type for argument 1 of 
'lba_dump_res'
 lba_dump_res(r->sibling, d);
  ^
   drivers//parisc/lba_pci.c:162:1: note: expected 'struct resource *' but 
argument is of type 'struct list_head'
lba_dump_res(struct resource *r, int d)
^~~~

vim +/lba_dump_res +173 drivers//parisc/lba_pci.c

^1da177e Linus Torvalds 2005-04-16  159  
^1da177e Linus Torvalds 2005-04-16  160  
^1da177e Linus Torvalds 2005-04-16  161  static void
^1da177e Linus Torvalds 2005-04-16  162  lba_dump_res(struct resource *r, int d)
^1da177e Linus Torvalds 2005-04-16  163  {
^1da177e Linus Torvalds 2005-04-16  164 int i;
^1da177e Linus Torvalds 2005-04-16  165  
^1da177e Linus Torvalds 2005-04-16  166 if (NULL == r)
^1da177e Linus Torvalds 2005-04-16  167 return;
^1da177e Linus Torvalds 2005-04-16  168  
^1da177e Linus Torvalds 2005-04-16  169 printk(KERN_DEBUG "(%p)", 
r->parent);
^1da177e Linus Torvalds 2005-04-16  170 for (i = d; i ; --i) printk(" 
");
645d11d4 Matthew Wilcox 2006-12-24  171 printk(KERN_DEBUG "%p 
[%lx,%lx]/%lx\n", r,
645d11d4 Matthew Wilcox 2006-12-24  172 (long)r->start, 
(long)r->end, r->flags);
^1da177e Linus Torvalds 2005-04-16 @173 lba_dump_res(r->child, d+2);
^1da177e Linus Torvalds 2005-04-16  174 lba_dump_res(r->sibling, d);
^1da177e Linus Torvalds 2005-04-16  175  }
^1da177e Linus Torvalds 2005-04-16  176  

:: The code at line 173 was first introduced by commit
:: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:: TO: Linus Torvalds 
:: CC: Linus Torvalds 

---
0-DAY kernel test infrastructureOpen 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


[linux-nvdimm:libnvdimm-for-next 49/56] fs/ext4/super.c:955: undefined reference to `fs_dax_release'

2018-04-02 Thread kbuild test robot
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
head:   c2638e7534a1bfca30284b46a29bda820dc16b97
commit: f9c63b454621fc2a0d73b387c8bf6122c4e84d39 [49/56] mm, dev_pagemap: 
introduce CONFIG_DEV_PAGEMAP_OPS
config: x86_64-randconfig-r0-04022007 (attached as .config)
compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026
reproduce:
git checkout f9c63b454621fc2a0d73b387c8bf6122c4e84d39
# save the attached .config to linux build tree
make ARCH=x86_64 

All errors (new ones prefixed by >>):

   fs/ext4/super.o: In function `ext4_put_super':
>> fs/ext4/super.c:955: undefined reference to `fs_dax_release'
   fs/ext4/super.o: In function `fs_dax_claim_bdev':
>> include/linux/dax.h:132: undefined reference to `fs_dax_claim'
   fs/ext4/super.o: In function `ext4_fill_super':
   fs/ext4/super.c:4411: undefined reference to `fs_dax_release'
   fs/xfs/xfs_super.o: In function `fs_dax_claim_bdev':
>> include/linux/dax.h:132: undefined reference to `fs_dax_claim'
   fs/xfs/xfs_super.o: In function `xfs_open_devices':
>> fs/xfs/xfs_super.c:816: undefined reference to `fs_dax_release'
   fs/xfs/xfs_super.c:820: undefined reference to `fs_dax_release'
   fs/xfs/xfs_super.c:823: undefined reference to `fs_dax_release'
   fs/xfs/xfs_super.o: In function `xfs_close_devices':
   fs/xfs/xfs_super.c:727: undefined reference to `fs_dax_release'
   fs/xfs/xfs_super.c:735: undefined reference to `fs_dax_release'
   fs/xfs/xfs_super.o:fs/xfs/xfs_super.c:738: more undefined references to 
`fs_dax_release' follow

vim +955 fs/ext4/super.c

ac27a0ec1 Dave Kleikamp 2006-10-11  913  
ac27a0ec1 Dave Kleikamp 2006-10-11  914 /* Debugging code just in case 
the in-memory inode orphan list
ac27a0ec1 Dave Kleikamp 2006-10-11  915  * isn't empty.  The on-disk 
one can be non-empty if we've
ac27a0ec1 Dave Kleikamp 2006-10-11  916  * detected an error and taken 
the fs readonly, but the
ac27a0ec1 Dave Kleikamp 2006-10-11  917  * in-memory list had better be 
clean by this point. */
ac27a0ec1 Dave Kleikamp 2006-10-11  918 if (!list_empty(>s_orphan))
ac27a0ec1 Dave Kleikamp 2006-10-11  919 dump_orphan_list(sb, 
sbi);
ac27a0ec1 Dave Kleikamp 2006-10-11  920 
J_ASSERT(list_empty(>s_orphan));
ac27a0ec1 Dave Kleikamp 2006-10-11  921  
89d96a6f8 Theodore Ts'o 2015-06-20  922 sync_blockdev(sb->s_bdev);
f98393a64 Peter Zijlstra2007-05-06  923 invalidate_bdev(sb->s_bdev);
ac27a0ec1 Dave Kleikamp 2006-10-11  924 if (sbi->journal_bdev && 
sbi->journal_bdev != sb->s_bdev) {
ac27a0ec1 Dave Kleikamp 2006-10-11  925 /*
ac27a0ec1 Dave Kleikamp 2006-10-11  926  * Invalidate the 
journal device's buffers.  We don't want them
ac27a0ec1 Dave Kleikamp 2006-10-11  927  * floating about in 
memory - the physical journal device may
ac27a0ec1 Dave Kleikamp 2006-10-11  928  * hotswapped, and it 
breaks the `ro-after' testing code.
ac27a0ec1 Dave Kleikamp 2006-10-11  929  */
ac27a0ec1 Dave Kleikamp 2006-10-11  930 
sync_blockdev(sbi->journal_bdev);
f98393a64 Peter Zijlstra2007-05-06  931 
invalidate_bdev(sbi->journal_bdev);
617ba13b3 Mingming Cao  2006-10-11  932 ext4_blkdev_remove(sbi);
ac27a0ec1 Dave Kleikamp 2006-10-11  933 }
dec214d00 Tahsin Erdogan2017-06-22  934 if (sbi->s_ea_inode_cache) {
dec214d00 Tahsin Erdogan2017-06-22  935 
ext4_xattr_destroy_cache(sbi->s_ea_inode_cache);
dec214d00 Tahsin Erdogan2017-06-22  936 sbi->s_ea_inode_cache = 
NULL;
dec214d00 Tahsin Erdogan2017-06-22  937 }
47387409e Tahsin Erdogan2017-06-22  938 if (sbi->s_ea_block_cache) {
47387409e Tahsin Erdogan2017-06-22  939 
ext4_xattr_destroy_cache(sbi->s_ea_block_cache);
47387409e Tahsin Erdogan2017-06-22  940 sbi->s_ea_block_cache = 
NULL;
9c191f701 T Makphaibulchoke 2014-03-18  941 }
c5e06d101 Johann Lombardi   2011-05-24  942 if (sbi->s_mmp_tsk)
c5e06d101 Johann Lombardi   2011-05-24  943 
kthread_stop(sbi->s_mmp_tsk);
9060dd2c5 Eric Sandeen  2016-11-26  944 brelse(sbi->s_sbh);
ac27a0ec1 Dave Kleikamp 2006-10-11  945 sb->s_fs_info = NULL;
3197ebdb1 Theodore Ts'o 2009-03-31  946 /*
3197ebdb1 Theodore Ts'o 2009-03-31  947  * Now that we are completely 
done shutting down the
3197ebdb1 Theodore Ts'o 2009-03-31  948  * superblock, we need to 
actually destroy the kobject.
3197ebdb1 Theodore Ts'o 2009-03-31  949  */
3197ebdb1 Theodore Ts'o 2009-03-31  950 kobject_put(>s_kobj);
3197ebdb1 Theodore Ts'o 2009-03-31  951 
wait_for_completion(>s_kobj_unregister);
0441984a3 Darrick J. Wong   2012-04-29  952 if (sbi->s_chksum_driver)
0441984a3 Darrick J. Wong   2012-04-29  953 
crypto_free_shash(sbi->s_chksum_driver);
705895b61 

[linux-nvdimm:libnvdimm-for-next 49/56] drivers//dax/super.c:209:44: error: dereferencing pointer to incomplete type

2018-04-01 Thread kbuild test robot
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
head:   4f2e6ecbd1cb397d65ead8aab4fd4d05fcbfeaff
commit: 45d0fd3c767f81356f880be9a8893bb12a39488a [49/56] mm, dev_pagemap: 
introduce CONFIG_DEV_PAGEMAP_OPS
config: x86_64-randconfig-g0-04011906 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
git checkout 45d0fd3c767f81356f880be9a8893bb12a39488a
# save the attached .config to linux build tree
make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers//dax/super.c: In function 'fs_dax_claim_bdev':
   drivers//dax/super.c:207:2: error: implicit declaration of function 
'blk_queue_dax' [-Werror=implicit-function-declaration]
 if (!blk_queue_dax(bdev->bd_queue))
 ^
>> drivers//dax/super.c:209:44: error: dereferencing pointer to incomplete type
 dax_dev = fs_dax_get_by_host(bdev->bd_disk->disk_name);
   ^
   cc1: some warnings being treated as errors

vim +209 drivers//dax/super.c

b42158bb Dan Williams 2018-03-29  202  
b42158bb Dan Williams 2018-03-29  203  struct dax_device 
*fs_dax_claim_bdev(struct block_device *bdev, void *owner)
b42158bb Dan Williams 2018-03-29  204  {
b42158bb Dan Williams 2018-03-29  205   struct dax_device *dax_dev;
b42158bb Dan Williams 2018-03-29  206  
b42158bb Dan Williams 2018-03-29 @207   if (!blk_queue_dax(bdev->bd_queue))
b42158bb Dan Williams 2018-03-29  208   return NULL;
b42158bb Dan Williams 2018-03-29 @209   dax_dev = 
fs_dax_get_by_host(bdev->bd_disk->disk_name);
b42158bb Dan Williams 2018-03-29  210   if (dax_dev->ops->fs_claim)
b42158bb Dan Williams 2018-03-29  211   return 
dax_dev->ops->fs_claim(dax_dev, owner);
b42158bb Dan Williams 2018-03-29  212   else
b42158bb Dan Williams 2018-03-29  213   return fs_dax_claim(dax_dev, 
owner);
b42158bb Dan Williams 2018-03-29  214  }
b42158bb Dan Williams 2018-03-29  215  EXPORT_SYMBOL_GPL(fs_dax_claim_bdev);
b42158bb Dan Williams 2018-03-29  216  

:: The code at line 209 was first introduced by commit
:: b42158bb23c9db316c12e3b3845ef01d41013314 dax, dm: introduce 
->fs_{claim,release}() dax_device infrastructure

:: TO: Dan Williams 
:: CC: Dan Williams 

---
0-DAY kernel test infrastructureOpen 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


[linux-nvdimm:libnvdimm-for-next 49/56] drivers//dax/super.c:207:7: error: implicit declaration of function 'blk_queue_dax'

2018-03-31 Thread kbuild test robot
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
head:   4f2e6ecbd1cb397d65ead8aab4fd4d05fcbfeaff
commit: 45d0fd3c767f81356f880be9a8893bb12a39488a [49/56] mm, dev_pagemap: 
introduce CONFIG_DEV_PAGEMAP_OPS
config: x86_64-randconfig-s4-04010854 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
git checkout 45d0fd3c767f81356f880be9a8893bb12a39488a
# save the attached .config to linux build tree
make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers//dax/super.c: In function 'fs_dax_claim_bdev':
>> drivers//dax/super.c:207:7: error: implicit declaration of function 
>> 'blk_queue_dax' [-Werror=implicit-function-declaration]
 if (!blk_queue_dax(bdev->bd_queue))
  ^
   drivers//dax/super.c:209:44: error: dereferencing pointer to incomplete type 
'struct gendisk'
 dax_dev = fs_dax_get_by_host(bdev->bd_disk->disk_name);
   ^~
   cc1: some warnings being treated as errors

vim +/blk_queue_dax +207 drivers//dax/super.c

b42158bb Dan Williams 2018-03-29  202  
b42158bb Dan Williams 2018-03-29  203  struct dax_device 
*fs_dax_claim_bdev(struct block_device *bdev, void *owner)
b42158bb Dan Williams 2018-03-29  204  {
b42158bb Dan Williams 2018-03-29  205   struct dax_device *dax_dev;
b42158bb Dan Williams 2018-03-29  206  
b42158bb Dan Williams 2018-03-29 @207   if (!blk_queue_dax(bdev->bd_queue))
b42158bb Dan Williams 2018-03-29  208   return NULL;
b42158bb Dan Williams 2018-03-29  209   dax_dev = 
fs_dax_get_by_host(bdev->bd_disk->disk_name);
b42158bb Dan Williams 2018-03-29  210   if (dax_dev->ops->fs_claim)
b42158bb Dan Williams 2018-03-29  211   return 
dax_dev->ops->fs_claim(dax_dev, owner);
b42158bb Dan Williams 2018-03-29  212   else
b42158bb Dan Williams 2018-03-29  213   return fs_dax_claim(dax_dev, 
owner);
b42158bb Dan Williams 2018-03-29  214  }
b42158bb Dan Williams 2018-03-29  215  EXPORT_SYMBOL_GPL(fs_dax_claim_bdev);
b42158bb Dan Williams 2018-03-29  216  

:: The code at line 207 was first introduced by commit
:: b42158bb23c9db316c12e3b3845ef01d41013314 dax, dm: introduce 
->fs_{claim,release}() dax_device infrastructure

:: TO: Dan Williams 
:: CC: Dan Williams 

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH 1/4] acpi: add find error record in BERT function

2018-03-30 Thread kbuild test robot
Hi Dave,

I love your patch! Yet something to improve:

[auto build test ERROR on pm/linux-next]
[also build test ERROR on v4.16-rc7 next-20180329]
[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/Adding-support-to-parse-BERT-for-libnvdimm/20180331-065821
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git 
linux-next
config: i386-tinyconfig (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 >>):

   arch/x86/kernel/setup.o: In function `bert_find_mem_error_record':
>> setup.c:(.text+0x3): multiple definition of `bert_find_mem_error_record'
   init/main.o:main.c:(.text+0x19): first defined here
   arch/x86/kernel/i8259.o: In function `bert_find_mem_error_record':
   i8259.c:(.text+0x2c2): multiple definition of `bert_find_mem_error_record'
   init/main.o:main.c:(.text+0x19): first defined here
   arch/x86/kernel/irqinit.o: In function `bert_find_mem_error_record':
   irqinit.c:(.text+0x0): multiple definition of `bert_find_mem_error_record'
   init/main.o:main.c:(.text+0x19): first defined here
   arch/x86/kernel/bootflag.o: In function `bert_find_mem_error_record':
   bootflag.c:(.text+0x0): multiple definition of `bert_find_mem_error_record'
   init/main.o:main.c:(.text+0x19): first defined here
   arch/x86/kernel/e820.o: In function `bert_find_mem_error_record':
   e820.c:(.text+0xb1): multiple definition of `bert_find_mem_error_record'
   init/main.o:main.c:(.text+0x19): first defined here
   arch/x86/kernel/pci-dma.o: In function `bert_find_mem_error_record':
   pci-dma.c:(.text+0x0): multiple definition of `bert_find_mem_error_record'
   init/main.o:main.c:(.text+0x19): first defined here
   arch/x86/kernel/rtc.o: In function `bert_find_mem_error_record':
   rtc.c:(.text+0x41): multiple definition of `bert_find_mem_error_record'
   init/main.o:main.c:(.text+0x19): first defined here
   kernel/sysctl.o: In function `bert_find_mem_error_record':
   sysctl.c:(.text+0x0): multiple definition of `bert_find_mem_error_record'
   init/main.o:main.c:(.text+0x19): first defined here
   drivers/base/platform.o: In function `bert_find_mem_error_record':
   platform.c:(.text+0x1e8): multiple definition of `bert_find_mem_error_record'
   init/main.o:main.c:(.text+0x19): first defined here
   drivers/base/cpu.o: In function `bert_find_mem_error_record':
   cpu.c:(.text+0x1a1): multiple definition of `bert_find_mem_error_record'
   init/main.o:main.c:(.text+0x19): first defined here
   drivers/base/property.o: In function `bert_find_mem_error_record':
   property.c:(.text+0x2aa): multiple definition of `bert_find_mem_error_record'
   init/main.o:main.c:(.text+0x19): first defined here
   drivers/base/cacheinfo.o: In function `bert_find_mem_error_record':
   cacheinfo.c:(.text+0x2e5): multiple definition of 
`bert_find_mem_error_record'
   init/main.o:main.c:(.text+0x19): first defined here
   drivers/base/dma-mapping.o: In function `bert_find_mem_error_record':
   dma-mapping.c:(.text+0x104): multiple definition of 
`bert_find_mem_error_record'
   init/main.o:main.c:(.text+0x19): first defined here

---
0-DAY kernel test infrastructureOpen 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


[RFC PATCH] libnvdimm: bus_desc can be static

2018-03-24 Thread kbuild test robot

Fixes: 6cb2b51b9b76 ("libnvdimm: Add device-tree based driver")
Signed-off-by: Fengguang Wu 
---
 of_nvdimm.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/nvdimm/of_nvdimm.c b/drivers/nvdimm/of_nvdimm.c
index 79c2829..4ed373d 100644
--- a/drivers/nvdimm/of_nvdimm.c
+++ b/drivers/nvdimm/of_nvdimm.c
@@ -15,7 +15,7 @@
  * for dispatching regions into the correct bus type, but this is useful
  * for now.
  */
-struct nvdimm_bus_descriptor bus_desc;
+static struct nvdimm_bus_descriptor bus_desc;
 struct nvdimm_bus *bus;
 
 /* region driver */
___
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm


Re: [PATCH 3/6] libnvdimm: Add device-tree based driver

2018-03-24 Thread kbuild test robot
Hi Oliver,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linux-nvdimm/libnvdimm-for-next]
[also build test WARNING on v4.16-rc6 next-20180323]
[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/Oliver-O-Halloran/libnvdimm-Add-of_node-to-region-and-bus-descriptors/20180325-082036
base:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
reproduce:
# apt-get install sparse
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

>> drivers/nvdimm/of_nvdimm.c:18:30: sparse: symbol 'bus_desc' was not 
>> declared. Should it be static?
   drivers/nvdimm/of_nvdimm.c:19:19: sparse: symbol 'bus' was not declared. 
Should it be static?

Please review and possibly fold the followup patch.

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH 3/6] libnvdimm: Add device-tree based driver

2018-03-24 Thread kbuild test robot
Hi Oliver,

I love your patch! Yet something to improve:

[auto build test ERROR on linux-nvdimm/libnvdimm-for-next]
[also build test ERROR on v4.16-rc6 next-20180323]
[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/Oliver-O-Halloran/libnvdimm-Add-of_node-to-region-and-bus-descriptors/20180325-082036
base:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 7.2.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=ia64 

All errors (new ones prefixed by >>):

   ERROR: "ia64_delay_loop" [drivers/spi/spi-thunderx.ko] undefined!
>> ERROR: "of_node_to_nid" [drivers/nvdimm/of_nvdimm.ko] undefined!
   ERROR: "ia64_delay_loop" [drivers/net/phy/mdio-cavium.ko] undefined!

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v6 06/15] ext2, dax: introduce ext2_dax_aops

2018-03-17 Thread kbuild test robot
Hi Dan,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v4.16-rc5 next-20180316]
[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/Dan-Williams/dax-fix-dma-vs-truncate-hole-punch/20180318-050250
reproduce:
# apt-get install sparse
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

>> fs/ext2/inode.c:992:39: sparse: symbol 'ext2_dax_aops' was not declared. 
>> Should it be static?

Please review and possibly fold the followup patch.

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v6 11/15] mm, fs, dax: handle layout changes to pinned dax mappings

2018-03-17 Thread kbuild test robot
Hi Dan,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.16-rc5 next-20180316]
[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/Dan-Williams/dax-fix-dma-vs-truncate-hole-punch/20180318-050250
config: x86_64-randconfig-x010-201811 (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=x86_64 

All errors (new ones prefixed by >>):

   drivers/dax/super.c: In function 'generic_dax_pagefree':
>> drivers/dax/super.c:170:2: error: implicit declaration of function 
>> 'wake_up_var'; did you mean 'wake_up_nr'? 
>> [-Werror=implicit-function-declaration]
 wake_up_var(>_refcount);
 ^~~
 wake_up_nr
   cc1: some warnings being treated as errors

vim +170 drivers/dax/super.c

   166  
   167  #if IS_ENABLED(CONFIG_FS_DAX)
   168  static void generic_dax_pagefree(struct page *page, void *data)
   169  {
 > 170  wake_up_var(>_refcount);
   171  }
   172  

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v6 15/15] xfs, dax: introduce xfs_break_dax_layouts()

2018-03-17 Thread kbuild test robot
Hi Dan,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.16-rc5]
[cannot apply to next-20180316]
[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/Dan-Williams/dax-fix-dma-vs-truncate-hole-punch/20180318-050250
config: x86_64-randconfig-x014-201811 (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=x86_64 

All errors (new ones prefixed by >>):

   fs/xfs/xfs_file.c: In function 'xfs_break_dax_layouts':
>> fs/xfs/xfs_file.c:786:8: error: implicit declaration of function 
>> '___wait_var_event'; did you mean 'xfs_wait_var_event'? 
>> [-Werror=implicit-function-declaration]
 ret = ___wait_var_event(>_refcount,
   ^
   xfs_wait_var_event
>> fs/xfs/xfs_file.c:788:10: error: invalid use of void expression
   0, 0, xfs_wait_var_event(inode, iolock));
 ^~
   cc1: some warnings being treated as errors

vim +786 fs/xfs/xfs_file.c

   773  
   774  static int
   775  xfs_break_dax_layouts(
   776  struct inode*inode,
   777  uintiolock)
   778  {
   779  struct page *page;
   780  int ret;
   781  
   782  page = dax_layout_busy_page(inode->i_mapping);
   783  if (!page)
   784  return 0;
   785  
 > 786  ret = ___wait_var_event(>_refcount,
   787  atomic_read(>_refcount) == 1, 
TASK_INTERRUPTIBLE,
 > 788  0, 0, xfs_wait_var_event(inode, iolock));
   789  if (ret < 0)
   790  return ret;
   791  return 1;
   792  }
   793  

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v4 1/3] fs: allow per-device dax status checking for filesystems

2018-02-28 Thread kbuild test robot
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, );
   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, , );
   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 infrastructureOpen 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


Re: [PATCH v6 1/3] fs: allow per-device dax status checking for filesystems

2018-02-19 Thread kbuild test robot
Hi Darrick,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.16-rc2 next-20180219]
[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/fs-allow-per-device-dax-status-checking-for-filesystems/20180219-121644
config: x86_64-randconfig-s5-02200659 (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=x86_64 

All errors (new ones prefixed by >>):

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

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

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

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v4 2/3] dax: change bdev_dax_supported() to support boolean returns

2018-02-18 Thread kbuild test robot
Hi Dave,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v4.16-rc1 next-20180216]
[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-x003-201807 (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 

Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings

All warnings (new ones prefixed by >>):

   fs//xfs/xfs_super.c: In function 'xfs_fs_fill_super':
>> fs//xfs/xfs_super.c:1660:8: warning: 'rtdev_is_dax' may be used 
>> uninitialized in this function [-Wmaybe-uninitialized]
  bool rtdev_is_dax, datadev_is_dax;
   ^~~~

vim +/rtdev_is_dax +1660 fs//xfs/xfs_super.c

  1566  
  1567  STATIC int
  1568  xfs_fs_fill_super(
  1569  struct super_block  *sb,
  1570  void*data,
  1571  int silent)
  1572  {
  1573  struct inode*root;
  1574  struct xfs_mount*mp = NULL;
  1575  int flags = 0, error = -ENOMEM;
  1576  
  1577  mp = kzalloc(sizeof(struct xfs_mount), GFP_KERNEL);
  1578  if (!mp)
  1579  goto out;
  1580  
  1581  spin_lock_init(>m_sb_lock);
  1582  mutex_init(>m_growlock);
  1583  atomic_set(>m_active_trans, 0);
  1584  INIT_DELAYED_WORK(>m_reclaim_work, xfs_reclaim_worker);
  1585  INIT_DELAYED_WORK(>m_eofblocks_work, xfs_eofblocks_worker);
  1586  INIT_DELAYED_WORK(>m_cowblocks_work, xfs_cowblocks_worker);
  1587  mp->m_kobj.kobject.kset = xfs_kset;
  1588  
  1589  mp->m_super = sb;
  1590  sb->s_fs_info = mp;
  1591  
  1592  error = xfs_parseargs(mp, (char *)data);
  1593  if (error)
  1594  goto out_free_fsname;
  1595  
  1596  sb_min_blocksize(sb, BBSIZE);
  1597  sb->s_xattr = xfs_xattr_handlers;
  1598  sb->s_export_op = _export_operations;
  1599  #ifdef CONFIG_XFS_QUOTA
  1600  sb->s_qcop = _quotactl_operations;
  1601  sb->s_quota_types = QTYPE_MASK_USR | QTYPE_MASK_GRP | 
QTYPE_MASK_PRJ;
  1602  #endif
  1603  sb->s_op = _super_operations;
  1604  
  1605  if (silent)
  1606  flags |= XFS_MFSI_QUIET;
  1607  
  1608  error = xfs_open_devices(mp);
  1609  if (error)
  1610  goto out_free_fsname;
  1611  
  1612  error = xfs_init_mount_workqueues(mp);
  1613  if (error)
  1614  goto out_close_devices;
  1615  
  1616  error = xfs_init_percpu_counters(mp);
  1617  if (error)
  1618  goto out_destroy_workqueues;
  1619  
  1620  /* Allocate stats memory before we do operations that might use 
it */
  1621  mp->m_stats.xs_stats = alloc_percpu(struct xfsstats);
  1622  if (!mp->m_stats.xs_stats) {
  1623  error = -ENOMEM;
  1624  goto out_destroy_counters;
  1625  }
  1626  
  1627  error = xfs_readsb(mp, flags);
  1628  if (error)
  1629  goto out_free_stats;
  1630  
  1631  error = xfs_finish_flags(mp);
  1632  if (error)
  1633  goto out_free_sb;
  1634  
  1635  error = xfs_setup_devices(mp);
  1636  if (error)
  1637  goto out_free_sb;
  1638  
  1639  error = xfs_filestream_mount(mp);
  1640  if (error)
  1641  goto out_free_sb;
  1642  
  1643  /*
  1644   * we must configure the block size in the superblock before we 
run the
  1645   * full mount process as the mount process can lookup and cache 
inodes.
  1646   */
  1647  sb->s_magic = XFS_SB_MAGIC;
  1648  sb->s_blocksize = mp->m_sb.sb_blocksize;
  1649  sb->s_blocksize_bits = ffs(sb->s_blocksize) - 1;
  1650  sb->s_maxbytes = xfs_max_file_offset(sb->s_blocksize_bits);
  1651  sb->s_max_links = XFS_MAXLINK;
  1652  sb->s_time_gran = 1;
  1653  set_posix_acl_flag(sb);
  1654  
  1655  /* version 5 superblocks support inode version counters. */
  1656  if (XFS_SB_VERSION_NUM(>m_sb) == XFS_SB_VERSION_5)
  1657  sb->s_flags |= SB_I_VERSION;
  1658  
  1659  if (mp->m_flags & XFS_MOUNT_DAX) {
> 1660  bool rtdev_is_dax, datadev_is_dax;
  1661  
  1662  xfs_warn(mp,
  1663  "DAX enabled. Warning: EXPERIMENTAL, use at your own 
risk");
  1664  
  1665   

Re: [PATCH v5 1/3] fs: allow per-device dax status checking for filesystems

2018-02-18 Thread kbuild test robot
Hi Darrick,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.16-rc1 next-20180216]
[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-152445
config: x86_64-randconfig-x008-201807 (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=x86_64 

All errors (new ones prefixed by >>):

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

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

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

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v8 2/2] IB/core: use MAP_DIRECT to fix / enable RDMA to DAX mappings

2017-10-08 Thread kbuild test robot
Hi Dan,

[auto build test ERROR on rdma/master]
[also build test ERROR on v4.14-rc3 next-20170929]
[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/Dan-Williams/iommu-up-level-sg_num_pages-from-amd-iommu/20171008-133505
base:   https://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma.git master
config: i386-randconfig-n0-201741 (attached as .config)
compiler: gcc-4.8 (Debian 4.8.4-1) 4.8.4
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

All errors (new ones prefixed by >>):

>> drivers/infiniband/core/umem.c:39:29: fatal error: linux/mapdirect.h: No 
>> such file or directory
#include 
^
   compilation terminated.

vim +39 drivers/infiniband/core/umem.c

  > 39  #include 
40  #include 
41  #include 
42  #include 
43  #include 
44  

---
0-DAY kernel test infrastructureOpen 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


[linux-nvdimm:libnvdimm-for-next 22/22] drivers//nvdimm/btt.c:430:3: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'size_t'

2017-09-08 Thread kbuild test robot
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
head:   86652d2eb347080a991968c9d68708dc010ac56c
commit: 86652d2eb347080a991968c9d68708dc010ac56c [22/22] libnvdimm, btt: clean 
up warning and error messages
config: i386-randconfig-c0-09090349 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
git checkout 86652d2eb347080a991968c9d68708dc010ac56c
# save the attached .config to linux build tree
make ARCH=i386 

All warnings (new ones prefixed by >>):

   drivers//nvdimm/btt.c: In function 'btt_map_init':
>> drivers//nvdimm/btt.c:430:3: warning: format '%lx' expects argument of type 
>> 'long unsigned int', but argument 4 has type 'size_t' [-Wformat=]
  dev_WARN_ONCE(to_dev(arena), size < 512,
  ^
   drivers//nvdimm/btt.c: In function 'btt_log_init':
   drivers//nvdimm/btt.c:474:3: warning: format '%lx' expects argument of type 
'long unsigned int', but argument 4 has type 'size_t' [-Wformat=]
  dev_WARN_ONCE(to_dev(arena), size < 512,
  ^

vim +430 drivers//nvdimm/btt.c

   402  
   403  /*
   404   * This function initializes the BTT map to the initial state, which is
   405   * all-zeroes, and indicates an identity mapping
   406   */
   407  static int btt_map_init(struct arena_info *arena)
   408  {
   409  int ret = -EINVAL;
   410  void *zerobuf;
   411  size_t offset = 0;
   412  size_t chunk_size = SZ_2M;
   413  size_t mapsize = arena->logoff - arena->mapoff;
   414  
   415  zerobuf = kzalloc(chunk_size, GFP_KERNEL);
   416  if (!zerobuf)
   417  return -ENOMEM;
   418  
   419  /*
   420   * mapoff should always be at least 512B  aligned. We rely on 
that to
   421   * make sure rw_bytes does error clearing correctly, so make 
sure that
   422   * is the case.
   423   */
   424  dev_WARN_ONCE(to_dev(arena), !IS_ALIGNED(arena->mapoff, 512),
   425  "arena->mapoff: %#llx is unaligned\n", arena->mapoff);
   426  
   427  while (mapsize) {
   428  size_t size = min(mapsize, chunk_size);
   429  
 > 430  dev_WARN_ONCE(to_dev(arena), size < 512,
   431  "chunk size: %#lx is unaligned\n", size);
   432  ret = arena_write_bytes(arena, arena->mapoff + offset, 
zerobuf,
   433  size, 0);
   434  if (ret)
   435  goto free;
   436  
   437  offset += size;
   438  mapsize -= size;
   439  cond_resched();
   440  }
   441  
   442   free:
   443  kfree(zerobuf);
   444  return ret;
   445  }
   446  

---
0-DAY kernel test infrastructureOpen 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


[linux-nvdimm:libnvdimm-for-next 9/22] drivers//dax/super.c:64:20: error: redefinition of 'fs_dax_get_by_bdev'

2017-09-02 Thread kbuild test robot
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
head:   8f98ae0c9b90bb46097e4f28e81e9ae6148e5694
commit: 78f35473508118df5ea04b9515ac3f1aaec0a980 [9/22] dax: introduce a 
fs_dax_get_by_bdev() helper
config: ia64-tiger_defconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 6.2.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 78f35473508118df5ea04b9515ac3f1aaec0a980
# save the attached .config to linux build tree
make.cross ARCH=ia64 

All errors (new ones prefixed by >>):

>> drivers//dax/super.c:64:20: error: redefinition of 'fs_dax_get_by_bdev'
struct dax_device *fs_dax_get_by_bdev(struct block_device *bdev)
   ^~
   In file included from drivers//dax/super.c:22:0:
   include/linux/dax.h:76:34: note: previous definition of 'fs_dax_get_by_bdev' 
was here
static inline struct dax_device *fs_dax_get_by_bdev(struct block_device 
*bdev)
 ^~

vim +/fs_dax_get_by_bdev +64 drivers//dax/super.c

63  
  > 64  struct dax_device *fs_dax_get_by_bdev(struct block_device *bdev)
65  {
66  if (!blk_queue_dax(bdev->bd_queue))
67  return NULL;
68  return fs_dax_get_by_host(bdev->bd_disk->disk_name);
69  }
70  EXPORT_SYMBOL_GPL(fs_dax_get_by_bdev);
71  

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v5 7/7] libnvdimm: Add blk-mq pmem driver

2017-08-24 Thread kbuild test robot
Hi Dave,

[auto build test ERROR on slave-dma/next]
[also build test ERROR on next-20170824]
[cannot apply to linus/master linux-nvdimm/libnvdimm-for-next v4.13-rc6]
[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/libnvdimm-add-DMA-support-for-pmem-blk-mq/20170824-164932
base:   https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/slave-dma.git next
config: i386-randconfig-c0-08250030 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

All errors (new ones prefixed by >>):

   ERROR: "dma_request_chan" [sound/soc/snd-soc-core.ko] undefined!
   ERROR: "dma_request_slave_channel" [sound/soc/snd-soc-core.ko] undefined!
   ERROR: "dma_get_slave_caps" [sound/soc/snd-soc-core.ko] undefined!
   ERROR: "dma_release_channel" [sound/soc/snd-soc-core.ko] undefined!
>> ERROR: "__dma_request_channel" [sound/core/snd-pcm-dmaengine.ko] undefined!
>> ERROR: "dma_release_channel" [sound/core/snd-pcm-dmaengine.ko] undefined!
>> ERROR: "dma_find_channel" [drivers/nvdimm/nd_pmem_mq.ko] undefined!
>> ERROR: "dmaengine_unmap_put" [drivers/nvdimm/nd_pmem_mq.ko] undefined!
>> ERROR: "dmaengine_get_unmap_data" [drivers/nvdimm/nd_pmem_mq.ko] undefined!
>> ERROR: "dmaengine_get" [drivers/nvdimm/nd_pmem_mq.ko] undefined!
>> ERROR: "dmaengine_put" [drivers/nvdimm/nd_pmem_mq.ko] undefined!

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v4 3/3] fs, xfs: introduce MAP_DIRECT for creating block-map-sealed file ranges

2017-08-17 Thread kbuild test robot
Hi Dan,

[auto build test ERROR on linus/master]
[also build test ERROR on v4.13-rc5 next-20170816]
[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/Dan-Williams/fs-xfs-introduce-S_IOMAP_SEALED/20170817-114711
config: xtensa-allmodconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 4.9.0
reproduce:
wget 
https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=xtensa 

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

   mm/mmap.c: In function 'do_mmap':
   mm/mmap.c:1391:8: error: 'MAP_VALIDATE' undeclared (first use in this 
function)
  case MAP_VALIDATE:
   ^
   mm/mmap.c:1391:8: note: each undeclared identifier is reported only once for 
each function it appears in
   In file included from mm/mmap.c:17:0:
>> include/linux/mman.h:11:29: error: 'MAP_DIRECT' undeclared (first use in 
>> this function)
#define MAP_SUPPORTED_MASK (MAP_DIRECT)
^
>> mm/mmap.c:1392:18: note: in expansion of macro 'MAP_SUPPORTED_MASK'
   if (flags & ~(MAP_SUPPORTED_MASK | MAP_VALIDATE))
 ^

vim +/MAP_DIRECT +11 include/linux/mman.h

 9  
10  /* the MAP_VALIDATE set of supported flags */
  > 11  #define MAP_SUPPORTED_MASK (MAP_DIRECT)
12  

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v4 2/3] mm: introduce MAP_VALIDATE a mechanism for adding new mmap flags

2017-08-17 Thread kbuild test robot
Hi Dan,

[auto build test ERROR on linus/master]
[also build test ERROR on v4.13-rc5 next-20170816]
[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/Dan-Williams/fs-xfs-introduce-S_IOMAP_SEALED/20170817-114711
config: xtensa-allmodconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 4.9.0
reproduce:
wget 
https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=xtensa 

All errors (new ones prefixed by >>):

   mm/mmap.c: In function 'do_mmap':
>> mm/mmap.c:1391:8: error: 'MAP_VALIDATE' undeclared (first use in this 
>> function)
  case MAP_VALIDATE:
   ^
   mm/mmap.c:1391:8: note: each undeclared identifier is reported only once for 
each function it appears in

vim +/MAP_VALIDATE +1391 mm/mmap.c

  1316  
  1317  /*
  1318   * The caller must hold down_write(>mm->mmap_sem).
  1319   */
  1320  unsigned long do_mmap(struct file *file, unsigned long addr,
  1321  unsigned long len, unsigned long prot,
  1322  unsigned long flags, vm_flags_t vm_flags,
  1323  unsigned long pgoff, unsigned long *populate,
  1324  struct list_head *uf)
  1325  {
  1326  struct mm_struct *mm = current->mm;
  1327  int pkey = 0;
  1328  
  1329  *populate = 0;
  1330  
  1331  if (!len)
  1332  return -EINVAL;
  1333  
  1334  /*
  1335   * Does the application expect PROT_READ to imply PROT_EXEC?
  1336   *
  1337   * (the exception is when the underlying filesystem is noexec
  1338   *  mounted, in which case we dont add PROT_EXEC.)
  1339   */
  1340  if ((prot & PROT_READ) && (current->personality & 
READ_IMPLIES_EXEC))
  1341  if (!(file && path_noexec(>f_path)))
  1342  prot |= PROT_EXEC;
  1343  
  1344  if (!(flags & MAP_FIXED))
  1345  addr = round_hint_to_min(addr);
  1346  
  1347  /* Careful about overflows.. */
  1348  len = PAGE_ALIGN(len);
  1349  if (!len)
  1350  return -ENOMEM;
  1351  
  1352  /* offset overflow? */
  1353  if ((pgoff + (len >> PAGE_SHIFT)) < pgoff)
  1354  return -EOVERFLOW;
  1355  
  1356  /* Too many mappings? */
  1357  if (mm->map_count > sysctl_max_map_count)
  1358  return -ENOMEM;
  1359  
  1360  /* Obtain the address to map to. we verify (or select) it and 
ensure
  1361   * that it represents a valid section of the address space.
  1362   */
  1363  addr = get_unmapped_area(file, addr, len, pgoff, flags);
  1364  if (offset_in_page(addr))
  1365  return addr;
  1366  
  1367  if (prot == PROT_EXEC) {
  1368  pkey = execute_only_pkey(mm);
  1369  if (pkey < 0)
  1370  pkey = 0;
  1371  }
  1372  
  1373  /* Do simple checking here so the lower-level routines won't 
have
  1374   * to. we assume access permissions have been handled by the 
open
  1375   * of the memory object, so we don't do any here.
  1376   */
  1377  vm_flags |= calc_vm_prot_bits(prot, pkey) | 
calc_vm_flag_bits(flags) |
  1378  mm->def_flags | VM_MAYREAD | VM_MAYWRITE | 
VM_MAYEXEC;
  1379  
  1380  if (flags & MAP_LOCKED)
  1381  if (!can_do_mlock())
  1382  return -EPERM;
  1383  
  1384  if (mlock_future_check(mm, vm_flags, len))
  1385  return -EAGAIN;
  1386  
  1387  if (file) {
  1388  struct inode *inode = file_inode(file);
  1389  
  1390  switch (flags & MAP_TYPE) {
> 1391  case MAP_VALIDATE:
  1392  if (flags & ~(MAP_SUPPORTED_MASK | 
MAP_VALIDATE))
  1393  return -EINVAL;
  1394  if (!file->f_op->fmmap)
  1395  return -EOPNOTSUPP;
  1396  /* fall through */
  1397  case MAP_SHARED:
  1398  if ((prot_WRITE) && 
!(file->f_mode_WRITE))
  1399  return -EACCES;
  1400  
  1401  /*
  1402   * Make sure we don't allow writing to an 
append-only
  1403   * file..
  1404   */
  1405  if (IS_APPEND(inode) && (file->f_mode & 
FMODE_WRITE))
  1406  return -EACCES;
  1407  
  1408  

Re: [PATCH 2/3] libnvdimm, pfn, dax: show supported dax/pfn region alignments in sysfs

2017-08-15 Thread kbuild test robot
Hi Oliver,

[auto build test ERROR on linux-nvdimm/libnvdimm-for-next]
[also build test ERROR on v4.13-rc5 next-20170811]
[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/Dan-Williams/libnvdimm-export-supported-page-size-alignments/20170815-105258
base:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
config: powerpc-allmodconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget 
https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=powerpc 

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

   In file included from include/linux/mm.h:446:0,
from include/linux/memremap.h:3,
from drivers//nvdimm/pfn_devs.c:13:
   drivers//nvdimm/pfn_devs.c: In function 'nd_pfn_supported_alignments':
>> include/linux/huge_mm.h:83:24: error: initializer element is not constant
#define HPAGE_PMD_SIZE ((1UL) << HPAGE_PMD_SHIFT)
   ^
>> drivers//nvdimm/pfn_devs.c:123:3: note: in expansion of macro 
>> 'HPAGE_PMD_SIZE'
  HPAGE_PMD_SIZE,
  ^~
   include/linux/huge_mm.h:83:24: note: (near initialization for 
'supported_alignments[1]')
#define HPAGE_PMD_SIZE ((1UL) << HPAGE_PMD_SHIFT)
   ^
>> drivers//nvdimm/pfn_devs.c:123:3: note: in expansion of macro 
>> 'HPAGE_PMD_SIZE'
  HPAGE_PMD_SIZE,
  ^~
--
   In file included from include/linux/mm.h:446:0,
from include/linux/memremap.h:3,
from drivers/nvdimm/pfn_devs.c:13:
   drivers/nvdimm/pfn_devs.c: In function 'nd_pfn_supported_alignments':
>> include/linux/huge_mm.h:83:24: error: initializer element is not constant
#define HPAGE_PMD_SIZE ((1UL) << HPAGE_PMD_SHIFT)
   ^
   drivers/nvdimm/pfn_devs.c:123:3: note: in expansion of macro 'HPAGE_PMD_SIZE'
  HPAGE_PMD_SIZE,
  ^~
   include/linux/huge_mm.h:83:24: note: (near initialization for 
'supported_alignments[1]')
#define HPAGE_PMD_SIZE ((1UL) << HPAGE_PMD_SHIFT)
   ^
   drivers/nvdimm/pfn_devs.c:123:3: note: in expansion of macro 'HPAGE_PMD_SIZE'
  HPAGE_PMD_SIZE,
  ^~

vim +/HPAGE_PMD_SIZE +123 drivers//nvdimm/pfn_devs.c

  > 13  #include 
14  #include 
15  #include 
16  #include 
17  #include 
18  #include 
19  #include 
20  #include 
21  #include "nd-core.h"
22  #include "pfn.h"
23  #include "nd.h"
24  
25  static void nd_pfn_release(struct device *dev)
26  {
27  struct nd_region *nd_region = to_nd_region(dev->parent);
28  struct nd_pfn *nd_pfn = to_nd_pfn(dev);
29  
30  dev_dbg(dev, "%s\n", __func__);
31  nd_detach_ndns(_pfn->dev, _pfn->ndns);
32  ida_simple_remove(_region->pfn_ida, nd_pfn->id);
33  kfree(nd_pfn->uuid);
34  kfree(nd_pfn);
35  }
36  
37  static struct device_type nd_pfn_device_type = {
38  .name = "nd_pfn",
39  .release = nd_pfn_release,
40  };
41  
42  bool is_nd_pfn(struct device *dev)
43  {
44  return dev ? dev->type == _pfn_device_type : false;
45  }
46  EXPORT_SYMBOL(is_nd_pfn);
47  
48  struct nd_pfn *to_nd_pfn(struct device *dev)
49  {
50  struct nd_pfn *nd_pfn = container_of(dev, struct nd_pfn, dev);
51  
52  WARN_ON(!is_nd_pfn(dev));
53  return nd_pfn;
54  }
55  EXPORT_SYMBOL(to_nd_pfn);
56  
57  static ssize_t mode_show(struct device *dev,
58  struct device_attribute *attr, char *buf)
59  {
60  struct nd_pfn *nd_pfn = to_nd_pfn_safe(dev);
61  
62  switch (nd_pfn->mode) {
63  case PFN_MODE_RAM:
64  return sprintf(buf, "ram\n");
65  case PFN_MODE_PMEM:
66  return sprintf(buf, "pmem\n");
67  default:
68  return sprintf(buf, "none\n");
69  }
70  }
71  
72  static ssize_t mode_store(struct device *dev,
73  struct device_attribute *attr, const char *buf, size_t 
len)
74  {
75  struct nd_pfn *nd_pfn = to_nd_pfn_safe(dev);
76  ssize_t rc = 0;
77  
78  device_lock(dev);
79  nvdimm_bus_lock(dev);
80  if (dev->driver)
81  rc = -EBUSY;
82  else {
83  size_t n = len - 1;
84  
85  if (strncmp(buf, "pmem\n", n) == 0
86  || strncmp(buf, "pmem", n) == 0) {
87   

Re: [PATCH v2 5/7] mm:swap: use on-stack-bio for BDI_CAP_SYNCHRONOUS device

2017-08-12 Thread kbuild test robot
Hi Minchan,

[auto build test ERROR on mmotm/master]
[also build test ERROR on next-20170811]
[cannot apply to linus/master v4.13-rc4]
[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/Minchan-Kim/Replace-rw_page-with-on-stack-bio/20170812-152541
base:   git://git.cmpxchg.org/linux-mmotm.git master
config: sparc64-allmodconfig (attached as .config)
compiler: sparc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget 
https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=sparc64 

All errors (new ones prefixed by >>):

   mm/page_io.c: In function '__swap_writepage':
>> mm/page_io.c:345:11: error: passing argument 1 of 'bio_get' from 
>> incompatible pointer type [-Werror=incompatible-pointer-types]
  bio_get();
  ^
   In file included from include/linux/writeback.h:205:0,
from include/linux/memcontrol.h:31,
from include/linux/swap.h:8,
from mm/page_io.c:17:
   include/linux/bio.h:252:20: note: expected 'struct bio *' but argument is of 
type 'struct bio **'
static inline void bio_get(struct bio *bio)
   ^~~
   cc1: some warnings being treated as errors

vim +/bio_get +345 mm/page_io.c

   275  
   276  int __swap_writepage(struct page *page, struct writeback_control *wbc)
   277  {
   278  int ret;
   279  struct swap_info_struct *sis = page_swap_info(page);
   280  struct bio *bio;
   281  /* on-stack-bio */
   282  struct bio sbio;
   283  struct bio_vec sbvec;
   284  
   285  VM_BUG_ON_PAGE(!PageSwapCache(page), page);
   286  if (sis->flags & SWP_FILE) {
   287  struct kiocb kiocb;
   288  struct file *swap_file = sis->swap_file;
   289  struct address_space *mapping = swap_file->f_mapping;
   290  struct bio_vec bv = {
   291  .bv_page = page,
   292  .bv_len  = PAGE_SIZE,
   293  .bv_offset = 0
   294  };
   295  struct iov_iter from;
   296  
   297  iov_iter_bvec(, ITER_BVEC | WRITE, , 1, 
PAGE_SIZE);
   298  init_sync_kiocb(, swap_file);
   299  kiocb.ki_pos = page_file_offset(page);
   300  
   301  set_page_writeback(page);
   302  unlock_page(page);
   303  ret = mapping->a_ops->direct_IO(, );
   304  if (ret == PAGE_SIZE) {
   305  count_vm_event(PSWPOUT);
   306  ret = 0;
   307  } else {
   308  /*
   309   * In the case of swap-over-nfs, this can be a
   310   * temporary failure if the system has limited
   311   * memory for allocating transmit buffers.
   312   * Mark the page dirty and avoid
   313   * rotate_reclaimable_page but rate-limit the
   314   * messages but do not flag PageError like
   315   * the normal direct-to-bio case as it could
   316   * be temporary.
   317   */
   318  set_page_dirty(page);
   319  ClearPageReclaim(page);
   320  pr_err_ratelimited("Write error on dio swapfile 
(%llu)\n",
   321 page_file_offset(page));
   322  }
   323  end_page_writeback(page);
   324  return ret;
   325  }
   326  
   327  ret = bdev_write_page(sis->bdev, swap_page_sector(page), page, 
wbc);
   328  if (!ret) {
   329  count_swpout_vm_event(page);
   330  return 0;
   331  }
   332  
   333  ret = 0;
   334  if (!(sis->flags & SWP_SYNC_IO)) {
   335  
   336  bio = get_swap_bio(GFP_NOIO, page, end_swap_bio_write);
   337  if (bio == NULL) {
   338  set_page_dirty(page);
   339  unlock_page(page);
   340  ret = -ENOMEM;
   341  goto out;
   342  }
   343  } else {
   344  bio = 
 > 345  bio_get();
   346  
   347  bio_init(, , 1);
   348  sbio.bi_bdev = sis->bdev;
   349  sbio.bi_iter.bi_sector = swap_page_sector(page);
   350  sbio.bi_end_io = end_swap_bio_write;
   351  

Re: [PATCH v2 5/7] mm:swap: use on-stack-bio for BDI_CAP_SYNCHRONOUS device

2017-08-12 Thread kbuild test robot
Hi Minchan,

[auto build test WARNING on mmotm/master]
[also build test WARNING on next-20170811]
[cannot apply to linus/master v4.13-rc4]
[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/Minchan-Kim/Replace-rw_page-with-on-stack-bio/20170812-152541
base:   git://git.cmpxchg.org/linux-mmotm.git master
config: xtensa-allmodconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 4.9.0
reproduce:
wget 
https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=xtensa 

All warnings (new ones prefixed by >>):

   mm/page_io.c: In function '__swap_writepage':
>> mm/page_io.c:345:3: warning: passing argument 1 of 'bio_get' from 
>> incompatible pointer type
  bio_get();
  ^
   In file included from include/linux/writeback.h:205:0,
from include/linux/memcontrol.h:31,
from include/linux/swap.h:8,
from mm/page_io.c:17:
   include/linux/bio.h:252:20: note: expected 'struct bio *' but argument is of 
type 'struct bio **'
static inline void bio_get(struct bio *bio)
   ^

vim +/bio_get +345 mm/page_io.c

   275  
   276  int __swap_writepage(struct page *page, struct writeback_control *wbc)
   277  {
   278  int ret;
   279  struct swap_info_struct *sis = page_swap_info(page);
   280  struct bio *bio;
   281  /* on-stack-bio */
   282  struct bio sbio;
   283  struct bio_vec sbvec;
   284  
   285  VM_BUG_ON_PAGE(!PageSwapCache(page), page);
   286  if (sis->flags & SWP_FILE) {
   287  struct kiocb kiocb;
   288  struct file *swap_file = sis->swap_file;
   289  struct address_space *mapping = swap_file->f_mapping;
   290  struct bio_vec bv = {
   291  .bv_page = page,
   292  .bv_len  = PAGE_SIZE,
   293  .bv_offset = 0
   294  };
   295  struct iov_iter from;
   296  
   297  iov_iter_bvec(, ITER_BVEC | WRITE, , 1, 
PAGE_SIZE);
   298  init_sync_kiocb(, swap_file);
   299  kiocb.ki_pos = page_file_offset(page);
   300  
   301  set_page_writeback(page);
   302  unlock_page(page);
   303  ret = mapping->a_ops->direct_IO(, );
   304  if (ret == PAGE_SIZE) {
   305  count_vm_event(PSWPOUT);
   306  ret = 0;
   307  } else {
   308  /*
   309   * In the case of swap-over-nfs, this can be a
   310   * temporary failure if the system has limited
   311   * memory for allocating transmit buffers.
   312   * Mark the page dirty and avoid
   313   * rotate_reclaimable_page but rate-limit the
   314   * messages but do not flag PageError like
   315   * the normal direct-to-bio case as it could
   316   * be temporary.
   317   */
   318  set_page_dirty(page);
   319  ClearPageReclaim(page);
   320  pr_err_ratelimited("Write error on dio swapfile 
(%llu)\n",
   321 page_file_offset(page));
   322  }
   323  end_page_writeback(page);
   324  return ret;
   325  }
   326  
   327  ret = bdev_write_page(sis->bdev, swap_page_sector(page), page, 
wbc);
   328  if (!ret) {
   329  count_swpout_vm_event(page);
   330  return 0;
   331  }
   332  
   333  ret = 0;
   334  if (!(sis->flags & SWP_SYNC_IO)) {
   335  
   336  bio = get_swap_bio(GFP_NOIO, page, end_swap_bio_write);
   337  if (bio == NULL) {
   338  set_page_dirty(page);
   339  unlock_page(page);
   340  ret = -ENOMEM;
   341  goto out;
   342  }
   343  } else {
   344  bio = 
 > 345  bio_get();
   346  
   347  bio_init(, , 1);
   348  sbio.bi_bdev = sis->bdev;
   349  sbio.bi_iter.bi_sector = swap_page_sector(page);
   350  sbio.bi_end_io = end_swap_bio_write;
   351  bio_add_page(, page, PAGE_SIZE, 0);
   352  }
   353  
   354  bio_set_op_attrs(bio, REQ_OP_WRITE, 

Re: [PATCH v3 6/8] dmaengine: add SG support to dmaengine_unmap

2017-08-04 Thread kbuild test robot
Hi Dave,

[auto build test WARNING on linus/master]
[also build test WARNING on v4.13-rc3]
[cannot apply to next-20170804]
[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/Adding-blk-mq-and-DMA-support-to-pmem-block-driver/20170804-191719
config: i386-randconfig-x003-201731 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

All warnings (new ones prefixed by >>):

   drivers//dma/dmaengine.c: In function 'dmaengine_unmap':
>> drivers//dma/dmaengine.c:1140:8: warning: cast to pointer from integer of 
>> different size [-Wint-to-pointer-cast]
  sg = (struct scatterlist *)unmap->addr[i];
   ^
   drivers//dma/dmaengine.c:1151:8: warning: cast to pointer from integer of 
different size [-Wint-to-pointer-cast]
  sg = (struct scatterlist *)unmap->addr[i];
   ^
   Cyclomatic Complexity 5 include/linux/compiler.h:__read_once_size
   Cyclomatic Complexity 5 include/linux/compiler.h:__write_once_size
   Cyclomatic Complexity 3 arch/x86/include/asm/bitops.h:set_bit
   Cyclomatic Complexity 3 arch/x86/include/asm/bitops.h:clear_bit
   Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:constant_test_bit
   Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:variable_test_bit
   Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:fls
   Cyclomatic Complexity 1 include/linux/log2.h:__ilog2_u32
   Cyclomatic Complexity 1 include/linux/list.h:__list_add_valid
   Cyclomatic Complexity 1 include/linux/list.h:__list_del_entry_valid
   Cyclomatic Complexity 1 include/linux/list.h:__list_del
   Cyclomatic Complexity 2 include/linux/list.h:__list_del_entry
   Cyclomatic Complexity 1 include/linux/err.h:ERR_PTR
   Cyclomatic Complexity 1 include/linux/err.h:PTR_ERR
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_read
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_set
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_inc
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_dec
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_dec_and_test
   Cyclomatic Complexity 1 include/asm-generic/getorder.h:__get_order
   Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:rep_nop
   Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:cpu_relax
   Cyclomatic Complexity 1 include/linux/jiffies.h:_msecs_to_jiffies
   Cyclomatic Complexity 5 include/linux/jiffies.h:msecs_to_jiffies
   Cyclomatic Complexity 1 include/linux/refcount.h:refcount_set
   Cyclomatic Complexity 1 include/linux/kref.h:kref_init
   Cyclomatic Complexity 1 include/linux/kobject.h:kobject_name
   Cyclomatic Complexity 1 include/linux/rculist.h:list_del_rcu
   Cyclomatic Complexity 1 include/linux/device.h:dev_to_node
   Cyclomatic Complexity 1 include/linux/dma-debug.h:debug_dma_unmap_page
   Cyclomatic Complexity 1 include/linux/dma-debug.h:debug_dma_unmap_sg
   Cyclomatic Complexity 1 include/linux/dma-mapping.h:valid_dma_direction
   Cyclomatic Complexity 1 arch/x86/include/asm/dma-mapping.h:get_arch_dma_ops
   Cyclomatic Complexity 1 include/linux/module.h:__module_get
   Cyclomatic Complexity 1 include/linux/module.h:try_module_get
   Cyclomatic Complexity 1 include/linux/module.h:module_put
   Cyclomatic Complexity 1 include/linux/dmaengine.h:txd_lock
   Cyclomatic Complexity 1 include/linux/dmaengine.h:txd_unlock
   Cyclomatic Complexity 1 include/linux/dmaengine.h:txd_clear_parent
   Cyclomatic Complexity 1 include/linux/dmaengine.h:txd_clear_next
   Cyclomatic Complexity 1 include/linux/dmaengine.h:txd_next
   Cyclomatic Complexity 1 include/linux/dmaengine.h:__dma_cap_set
   Cyclomatic Complexity 1 include/linux/dmaengine.h:__dma_cap_clear
   Cyclomatic Complexity 1 include/linux/dmaengine.h:dma_async_issue_pending
   Cyclomatic Complexity 56 include/linux/slab.h:kmalloc_index
   Cyclomatic Complexity 67 include/linux/slab.h:kmalloc_large
   Cyclomatic Complexity 9 include/linux/slab.h:kmalloc
   Cyclomatic Complexity 1 include/linux/slab.h:kzalloc
   Cyclomatic Complexity 1 drivers//dma/dmaengine.c:dma_chan_to_owner
   Cyclomatic Complexity 2 drivers//dma/dmaengine.c:balance_ref_count
   Cyclomatic Complexity 5 include/linux/dmaengine.h:dma_async_is_tx_complete
   Cyclomatic Complexity 2 include/linux/dmaengine.h:__dma_has_cap
   Cyclomatic Complexity 7 drivers//dma/dmaengine.c:device_has_all_tx_types
   Cyclomatic Complexity 9 drivers//dma/dmaengine.c:dma_chan_get
   Cyclomatic Complexity 3 include/linux/device.h:dev_name
   Cyclomatic Complexity 1 include/linux/dmaengine.h:dma_chan_name
   Cyclomatic Complexity 10 include/linux/dma-mapping.h:get_dma_ops
   Cyclomatic Complexity 3 include/linux/bitops.h:get_count_order
   Cyclomatic Complexity 9 include/linux/bitmap.h:bitmap_fill
   Cyclomatic Complexity 7 

Re: [PATCH v3 8/8] libnvdimm: add DMA support for pmem blk-mq

2017-08-04 Thread kbuild test robot
Hi Dave,

[auto build test WARNING on linus/master]
[also build test WARNING on v4.13-rc3]
[cannot apply to next-20170804]
[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/Adding-blk-mq-and-DMA-support-to-pmem-block-driver/20170804-191719
config: i386-randconfig-x018-201731 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

All warnings (new ones prefixed by >>):

   drivers//nvdimm/pmem.c: In function 'pmem_handle_cmd_dma':
>> drivers//nvdimm/pmem.c:416:20: warning: cast from pointer to integer of 
>> different size [-Wpointer-to-int-cast]
  unmap->addr[1] = (dma_addr_t)cmd->sg;
   ^
   drivers//nvdimm/pmem.c:421:20: warning: cast from pointer to integer of 
different size [-Wpointer-to-int-cast]
  unmap->addr[0] = (dma_addr_t)cmd->sg;
   ^

vim +416 drivers//nvdimm/pmem.c

   347  
   348  static int pmem_handle_cmd_dma(struct pmem_cmd *cmd, bool is_write)
   349  {
   350  struct request *req = cmd->rq;
   351  struct request_queue *q = req->q;
   352  struct pmem_device *pmem = q->queuedata;
   353  struct device *dev = to_dev(pmem);
   354  phys_addr_t pmem_off = blk_rq_pos(req) * 512 + 
pmem->data_offset;
   355  void *pmem_addr = pmem->virt_addr + pmem_off;
   356  struct nd_region *nd_region = to_region(pmem);
   357  size_t len;
   358  struct dma_device *dma = cmd->chan->device;
   359  struct dmaengine_unmap_data *unmap;
   360  dma_cookie_t cookie;
   361  struct dma_async_tx_descriptor *txd;
   362  struct page *page;
   363  unsigned int off;
   364  int rc;
   365  enum dma_data_direction dir;
   366  dma_addr_t dma_addr;
   367  
   368  if (req->cmd_flags & REQ_FLUSH)
   369  nvdimm_flush(nd_region);
   370  
   371  unmap = dmaengine_get_unmap_data(dma->dev, 2, GFP_NOWAIT);
   372  if (!unmap) {
   373  dev_dbg(dev, "failed to get dma unmap data\n");
   374  rc = -ENOMEM;
   375  goto err;
   376  }
   377  
   378  /*
   379   * If reading from pmem, writing to scatterlist,
   380   * and if writing to pmem, reading from scatterlist.
   381   */
   382  dir = is_write ? DMA_FROM_DEVICE : DMA_TO_DEVICE;
   383  cmd->sg_nents = blk_rq_map_sg(req->q, req, cmd->sg);
   384  if (cmd->sg_nents < 1) {
   385  rc = -EINVAL;
   386  goto err;
   387  }
   388  
   389  if (cmd->sg_nents > 128) {
   390  rc = -ENOMEM;
   391  dev_warn(dev, "Number of sg greater than allocated\n");
   392  goto err;
   393  }
   394  
   395  rc = dma_map_sg(dma->dev, cmd->sg, cmd->sg_nents, dir);
   396  if (rc < 1) {
   397  rc = -ENXIO;
   398  goto err;
   399  }
   400  
   401  len = blk_rq_payload_bytes(req);
   402  page = virt_to_page(pmem_addr);
   403  off = offset_in_page(pmem_addr);
   404  dir = is_write ? DMA_TO_DEVICE : DMA_FROM_DEVICE;
   405  dma_addr = dma_map_page(dma->dev, page, off, len, dir);
   406  if (dma_mapping_error(dma->dev, unmap->addr[0])) {
   407  dev_dbg(dma->dev, "src DMA mapping error\n");
   408  rc = -ENXIO;
   409  goto err_unmap_sg;
   410  }
   411  
   412  unmap->len = len;
   413  
   414  if (is_write) {
   415  unmap->addr[0] = dma_addr;
 > 416  unmap->addr[1] = (dma_addr_t)cmd->sg;
   417  unmap->to_cnt = 1;
   418  unmap->from_cnt = 0;
   419  dma_unmap_data_sg_from_nents(unmap, 2) = cmd->sg_nents;
   420  } else {
   421  unmap->addr[0] = (dma_addr_t)cmd->sg;
   422  unmap->addr[1] = dma_addr;
   423  unmap->from_cnt = 1;
   424  unmap->to_cnt = 0;
   425  dma_unmap_data_sg_to_nents(unmap, 2) = cmd->sg_nents;
   426  }
   427  
   428  txd = dma->device_prep_dma_memcpy_sg(cmd->chan,
   429  cmd->sg, cmd->sg_nents, dma_addr,
   430  !is_write, DMA_PREP_INTERRUPT);
   431  if (!txd) {
   432  dev_dbg(dma->dev, "dma prep failed\n");
   433  rc = -ENXIO;
   434  goto err_unmap_buffer;
   435  }
   436  
   437  txd->callback_result = nd_pmem_dma_callback;
   438  txd->callback_param = cmd;
   439  dma_set_unmap(txd, 

Re: [PATCH 1/3] btt: remove btt_rw_page()

2017-08-03 Thread kbuild test robot
Hi Ross,

[auto build test WARNING on linux-nvdimm/libnvdimm-for-next]
[also build test WARNING on v4.13-rc3]
[cannot apply to next-20170803]
[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/Ross-Zwisler/btt-remove-btt_rw_page/20170729-165642
base:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
config: i386-randconfig-h0-08032208 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings

All warnings (new ones prefixed by >>):

   In file included from drivers/nvdimm/btt.c:27:0:
   drivers/nvdimm/btt.c: In function 'btt_make_request':
>> drivers/nvdimm/nd.h:407:2: warning: 'start' may be used uninitialized in 
>> this function [-Wmaybe-uninitialized]
 generic_end_io_acct(bio_data_dir(bio), >part0, start);
 ^~~
   drivers/nvdimm/btt.c:1202:16: note: 'start' was declared here
 unsigned long start;
   ^

vim +/start +407 drivers/nvdimm/nd.h

cd03412a5 Dan Williams 2016-03-11  340  
3d88002e4 Dan Williams 2015-05-31  341  struct nd_region *to_nd_region(struct 
device *dev);
3d88002e4 Dan Williams 2015-05-31  342  int nd_region_to_nstype(struct 
nd_region *nd_region);
3d88002e4 Dan Williams 2015-05-31  343  int 
nd_region_register_namespaces(struct nd_region *nd_region, int *err);
c12c48ce8 Dan Williams 2017-06-04  344  u64 
nd_region_interleave_set_cookie(struct nd_region *nd_region,
c12c48ce8 Dan Williams 2017-06-04  345  struct 
nd_namespace_index *nsindex);
86ef58a4e Dan Williams 2017-02-28  346  u64 
nd_region_interleave_set_altcookie(struct nd_region *nd_region);
3d88002e4 Dan Williams 2015-05-31  347  void nvdimm_bus_lock(struct device 
*dev);
3d88002e4 Dan Williams 2015-05-31  348  void nvdimm_bus_unlock(struct device 
*dev);
3d88002e4 Dan Williams 2015-05-31  349  bool is_nvdimm_bus_locked(struct device 
*dev);
581388209 Dan Williams 2015-06-23  350  int nvdimm_revalidate_disk(struct 
gendisk *disk);
bf9bccc14 Dan Williams 2015-06-17  351  void nvdimm_drvdata_release(struct kref 
*kref);
bf9bccc14 Dan Williams 2015-06-17  352  void put_ndd(struct nvdimm_drvdata 
*ndd);
4a826c83d Dan Williams 2015-06-09  353  int nd_label_reserve_dpa(struct 
nvdimm_drvdata *ndd);
4a826c83d Dan Williams 2015-06-09  354  void nvdimm_free_dpa(struct 
nvdimm_drvdata *ndd, struct resource *res);
4a826c83d Dan Williams 2015-06-09  355  struct resource 
*nvdimm_allocate_dpa(struct nvdimm_drvdata *ndd,
4a826c83d Dan Williams 2015-06-09  356  struct nd_label_id 
*label_id, resource_size_t start,
4a826c83d Dan Williams 2015-06-09  357  resource_size_t n);
8c2f7e865 Dan Williams 2015-06-25  358  resource_size_t 
nvdimm_namespace_capacity(struct nd_namespace_common *ndns);
8c2f7e865 Dan Williams 2015-06-25  359  struct nd_namespace_common 
*nvdimm_namespace_common_probe(struct device *dev);
5212e11fd Vishal Verma 2015-06-25  360  int nvdimm_namespace_attach_btt(struct 
nd_namespace_common *ndns);
298f2bc5d Dan Williams 2016-03-15  361  int nvdimm_namespace_detach_btt(struct 
nd_btt *nd_btt);
5212e11fd Vishal Verma 2015-06-25  362  const char 
*nvdimm_namespace_disk_name(struct nd_namespace_common *ndns,
5212e11fd Vishal Verma 2015-06-25  363  char *name);
f979b13c3 Dan Williams 2017-06-04  364  unsigned int pmem_sector_size(struct 
nd_namespace_common *ndns);
a39018029 Dan Williams 2016-04-07  365  void nvdimm_badblocks_populate(struct 
nd_region *nd_region,
a39018029 Dan Williams 2016-04-07  366  struct badblocks *bb, 
const struct resource *res);
200c79da8 Dan Williams 2016-03-22  367  #if IS_ENABLED(CONFIG_ND_CLAIM)
ac515c084 Dan Williams 2016-03-22  368  struct vmem_altmap 
*nvdimm_setup_pfn(struct nd_pfn *nd_pfn,
ac515c084 Dan Williams 2016-03-22  369  struct resource *res, 
struct vmem_altmap *altmap);
200c79da8 Dan Williams 2016-03-22  370  int devm_nsio_enable(struct device 
*dev, struct nd_namespace_io *nsio);
200c79da8 Dan Williams 2016-03-22  371  void devm_nsio_disable(struct device 
*dev, struct nd_namespace_io *nsio);
200c79da8 Dan Williams 2016-03-22  372  #else
ac515c084 Dan Williams 2016-03-22  373  static inline struct vmem_altmap 
*nvdimm_setup_pfn(struct nd_pfn *nd_pfn,
ac515c084 Dan Williams 2016-03-22  374  struct resource *res, 
struct vmem_altmap *altmap)
ac515c084 Dan Williams 2016-03-22  375  {
ac515c084 Dan Williams 2016-03-22  376  return ERR_PTR(-ENXIO);
ac515c084 Dan Williams 2016-03-22  377  }
200c79da8 Dan Williams 2016-03-22  378  static inline int 
devm_nsio_enable(struct device *dev,
200c79da8 Dan Williams 2016-03-22  379 

Re: [PATCH v2] dm: allow device-mapper to operate without dax support

2017-08-02 Thread kbuild test robot
Hi Dan,

[auto build test ERROR on dm/for-next]
[also build test ERROR on v4.13-rc3 next-20170802]
[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/Dan-Williams/dm-allow-device-mapper-to-operate-without-dax-support/20170802-155255
base:   
https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git 
for-next
config: sh-sdk7786_defconfig (attached as .config)
compiler: sh4-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget 
https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=sh 

All errors (new ones prefixed by >>):

   drivers/md/dm-table.o: In function `device_dax_write_cache_enabled':
   dm-table.c:(.text+0xab4): undefined reference to `dax_write_cache_enabled'
   drivers/md/dm-table.o: In function `dm_table_set_restrictions':
>> (.text+0x23d0): undefined reference to `dax_write_cache'

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v2] dm: allow device-mapper to operate without dax support

2017-08-02 Thread kbuild test robot
Hi Dan,

[auto build test ERROR on dm/for-next]
[also build test ERROR on v4.13-rc3 next-20170802]
[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/Dan-Williams/dm-allow-device-mapper-to-operate-without-dax-support/20170802-155255
base:   
https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git 
for-next
config: s390-defconfig (attached as .config)
compiler: s390x-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget 
https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=s390 

All errors (new ones prefixed by >>):

   drivers/md/dm.o: In function `cleanup_mapped_device':
>> drivers/md/dm.c:1684: undefined reference to `kill_dax'
>> drivers/md/dm.c:1685: undefined reference to `put_dax'
   drivers/md/dm.o: In function `close_table_device':
   drivers/md/dm.c:651: undefined reference to `put_dax'
   drivers/md/dm.o: In function `open_table_device':
>> drivers/md/dm.c:637: undefined reference to `dax_get_by_host'
   drivers/md/dm.o: In function `dm_dax_flush':
>> drivers/md/dm.c:1003: undefined reference to `dax_get_private'
   drivers/md/dm.o: In function `dm_dax_copy_from_iter':
   drivers/md/dm.c:979: undefined reference to `dax_get_private'
   drivers/md/dm.o: In function `dm_dax_direct_access':
   drivers/md/dm.c:951: undefined reference to `dax_get_private'
   drivers/md/dm.o: In function `alloc_dev':
>> drivers/md/dm.c:1783: undefined reference to `alloc_dax'
   drivers/md/dm-table.o: In function `device_dax_write_cache_enabled':
   drivers/md/dm-table.c:1644: undefined reference to `dax_write_cache_enabled'
   drivers/md/dm-table.o: In function `dm_table_set_restrictions':
   drivers/md/dm-table.c:1822: undefined reference to `dax_write_cache'
   drivers/md/dm-linear.o: In function `linear_dax_flush':
>> drivers/md/dm-linear.c:197: undefined reference to `bdev_dax_pgoff'
>> drivers/md/dm-linear.c:199: undefined reference to `dax_flush'
   drivers/md/dm-linear.o: In function `linear_dax_copy_from_iter':
   drivers/md/dm-linear.c:183: undefined reference to `bdev_dax_pgoff'
>> drivers/md/dm-linear.c:185: undefined reference to `dax_copy_from_iter'
   drivers/md/dm-linear.o: In function `linear_dax_direct_access':
   drivers/md/dm-linear.c:168: undefined reference to `bdev_dax_pgoff'
>> drivers/md/dm-linear.c:171: undefined reference to `dax_direct_access'
   drivers/md/dm-stripe.o: In function `stripe_dax_flush':
>> drivers/md/dm-stripe.c:369: undefined reference to `bdev_dax_pgoff'
>> drivers/md/dm-stripe.c:371: undefined reference to `dax_flush'
   drivers/md/dm-stripe.o: In function `stripe_dax_copy_from_iter':
   drivers/md/dm-stripe.c:350: undefined reference to `bdev_dax_pgoff'
>> drivers/md/dm-stripe.c:352: undefined reference to `dax_copy_from_iter'
   drivers/md/dm-stripe.o: In function `stripe_dax_direct_access':
   drivers/md/dm-stripe.c:330: undefined reference to `bdev_dax_pgoff'
>> drivers/md/dm-stripe.c:333: undefined reference to `dax_direct_access'

vim +1684 drivers/md/dm.c

4a0b4ddf2 Mike Snitzer2010-08-12  1672  
0f20972f7 Mike Snitzer2015-04-28  1673  static void 
cleanup_mapped_device(struct mapped_device *md)
0f20972f7 Mike Snitzer2015-04-28  1674  {
0f20972f7 Mike Snitzer2015-04-28  1675  if (md->wq)
0f20972f7 Mike Snitzer2015-04-28  1676  
destroy_workqueue(md->wq);
0f20972f7 Mike Snitzer2015-04-28  1677  if (md->kworker_task)
0f20972f7 Mike Snitzer2015-04-28  1678  
kthread_stop(md->kworker_task);
0f20972f7 Mike Snitzer2015-04-28  1679  
mempool_destroy(md->io_pool);
0f20972f7 Mike Snitzer2015-04-28  1680  if (md->bs)
0f20972f7 Mike Snitzer2015-04-28  1681  
bioset_free(md->bs);
0f20972f7 Mike Snitzer2015-04-28  1682  
f26c5719b Dan Williams2017-04-12  1683  if (md->dax_dev) {
f26c5719b Dan Williams2017-04-12 @1684  
kill_dax(md->dax_dev);
f26c5719b Dan Williams2017-04-12 @1685  
put_dax(md->dax_dev);
f26c5719b Dan Williams2017-04-12  1686  md->dax_dev = 
NULL;
f26c5719b Dan Williams2017-04-12  1687  }
f26c5719b Dan Williams2017-04-12  1688  
0f20972f7 Mike Snitzer2015-04-28  1689  if (md->disk) {
0f20972f7 Mike Snitzer2015-04-28  1690  
spin_lock(&_minor_lock);
0f20972f7 Mike Snitzer2015-04-28  1691  
md->disk->private_data = NULL;
0f20972f7 Mike Snitzer2015-04-28  1692  
spin_unlock(&_minor_lock);
0f20972f7 Mike Snitzer2015-04-28  1693  
del_gendisk(md->disk);
0f20972f7 Mike Snitzer2015-04-28  

Re: [PATCH] dm: enable opt-out of device-mapper dax support

2017-08-01 Thread kbuild test robot
Hi Dan,

[auto build test ERROR on dm/for-next]
[also build test ERROR on v4.13-rc3 next-20170801]
[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/Dan-Williams/dm-enable-opt-out-of-device-mapper-dax-support/20170802-063827
base:   
https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git 
for-next
config: x86_64-allyesdebian (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers/md/dm-table.o: In function `device_dax_write_cache_enabled':
>> dm-table.c:(.text+0x568): undefined reference to `dax_write_cache_enabled'
   drivers/md/dm-table.o: In function `dm_table_set_restrictions':
>> dm-table.c:(.text+0x1e40): undefined reference to `dax_write_cache'

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH] dm: enable opt-out of device-mapper dax support

2017-08-01 Thread kbuild test robot
Hi Dan,

[auto build test ERROR on dm/for-next]
[also build test ERROR on v4.13-rc3 next-20170801]
[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/Dan-Williams/dm-enable-opt-out-of-device-mapper-dax-support/20170802-063827
base:   
https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git 
for-next
config: sparc64-defconfig (attached as .config)
compiler: sparc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget 
https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=sparc64 

All errors (new ones prefixed by >>):

>> ERROR: "dax_write_cache" [drivers/md/dm-mod.ko] undefined!
>> ERROR: "dax_write_cache_enabled" [drivers/md/dm-mod.ko] undefined!

---
0-DAY kernel test infrastructureOpen 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


[linux-nvdimm:libnvdimm-fixes 10/12] drivers/acpi/nfit/core.c:1958:52: error: 'ARCH_MEMREMAP_PMEM' undeclared

2017-06-09 Thread kbuild test robot
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-fixes
head:   1fc421163dc84697fa48bdd397580b3ffeca512c
commit: b27db65a069bc14e8739e05278e2b95ee2523e47 [10/12] pmem: remove global 
pmem api
config: i386-randconfig-x071-06041529 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
git checkout b27db65a069bc14e8739e05278e2b95ee2523e47
# save the attached .config to linux build tree
make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/acpi/nfit/core.c: In function 'acpi_nfit_blk_region_enable':
>> drivers/acpi/nfit/core.c:1958:52: error: 'ARCH_MEMREMAP_PMEM' undeclared 
>> (first use in this function)
nfit_mem->spa_bdw->length, ARCH_MEMREMAP_PMEM);
   ^~
   drivers/acpi/nfit/core.c:1958:52: note: each undeclared identifier is 
reported only once for each function it appears in

vim +/ARCH_MEMREMAP_PMEM +1958 drivers/acpi/nfit/core.c

047fc8a1 drivers/acpi/nfit.c Ross Zwisler 2015-06-25  1952  
nfit_blk->nd_region = to_nd_region(dev);
047fc8a1 drivers/acpi/nfit.c Ross Zwisler 2015-06-25  1953  
047fc8a1 drivers/acpi/nfit.c Ross Zwisler 2015-06-25  1954  /* map block 
aperture memory */
047fc8a1 drivers/acpi/nfit.c Ross Zwisler 2015-06-25  1955  
nfit_blk->bdw_offset = nfit_mem->bdw->offset;
047fc8a1 drivers/acpi/nfit.c Ross Zwisler 2015-06-25  1956  mmio = 
_blk->mmio[BDW];
29b9aa0a drivers/acpi/nfit.c Dan Williams 2016-06-06  1957  mmio->addr.base 
= devm_nvdimm_memremap(dev, nfit_mem->spa_bdw->address,
29b9aa0a drivers/acpi/nfit.c Dan Williams 2016-06-06 @1958  
nfit_mem->spa_bdw->length, ARCH_MEMREMAP_PMEM);
67a3e8fe drivers/acpi/nfit.c Ross Zwisler 2015-08-27  1959  if 
(!mmio->addr.base) {
047fc8a1 drivers/acpi/nfit.c Ross Zwisler 2015-06-25  1960  
dev_dbg(dev, "%s: %s failed to map bdw\n", __func__,
047fc8a1 drivers/acpi/nfit.c Ross Zwisler 2015-06-25  1961  
nvdimm_name(nvdimm));

:: The code at line 1958 was first introduced by commit
:: 29b9aa0aa3837c93ecd804dd3ada39b8cc75607d libnvdimm: introduce 
devm_nvdimm_memremap(), convert nfit_spa_map() users

:: TO: Dan Williams 
:: CC: Dan Williams 

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH 1/2] block, dax: move "select DAX" from BLOCK to FS_DAX

2017-05-08 Thread kbuild test robot
Hi Dan,

[auto build test ERROR on linus/master]
[also build test ERROR on next-20170508]
[cannot apply to v4.11]
[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/Dan-Williams/block-dax-move-select-DAX-from-BLOCK-to-FS_DAX/20170509-051522
config: parisc-c3000_defconfig (attached as .config)
compiler: hppa-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget 
https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=parisc 

All errors (new ones prefixed by >>):

   fs/built-in.o: In function `bdev_dax_supported':
>> (.text.bdev_dax_supported+0x4c): undefined reference to `dax_get_by_host'
   fs/built-in.o: In function `bdev_dax_supported':
>> (.text.bdev_dax_supported+0x5c): undefined reference to `dax_read_lock'
   fs/built-in.o: In function `bdev_dax_supported':
>> (.text.bdev_dax_supported+0x7c): undefined reference to `dax_direct_access'
   fs/built-in.o: In function `bdev_dax_supported':
>> (.text.bdev_dax_supported+0x88): undefined reference to `dax_read_unlock'
   fs/built-in.o: In function `bdev_dax_supported':
>> (.text.bdev_dax_supported+0x90): undefined reference to `put_dax'

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH 2/3] virtio, rpmsg: switch to dynamic_hex_dump()

2017-04-29 Thread kbuild test robot
Hi Dan,

[auto build test ERROR on pm/linux-next]
[also build test ERROR on v4.11-rc8 next-20170428]
[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/Dan-Williams/dynamic_hex_dump-cleanup/20170429-135503
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git 
linux-next
config: arm-multi_v7_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget 
https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=arm 

All errors (new ones prefixed by >>):

   drivers//rpmsg/virtio_rpmsg_bus.c: In function 'rpmsg_send_offchannel_raw':
>> drivers//rpmsg/virtio_rpmsg_bus.c:602:2: error: implicit declaration of 
>> function 'dynamic_hex_dump' [-Werror=implicit-function-declaration]
 dynamic_hex_dump("rpmsg_virtio TX: ", DUMP_PREFIX_NONE, 16, 1,
 ^~~~
   cc1: some warnings being treated as errors

vim +/dynamic_hex_dump +602 drivers//rpmsg/virtio_rpmsg_bus.c

bcabbcca Ohad Ben-Cohen 2011-10-20  596 msg->dst = dst;
bcabbcca Ohad Ben-Cohen 2011-10-20  597 msg->reserved = 0;
bcabbcca Ohad Ben-Cohen 2011-10-20  598 memcpy(msg->data, data, len);
bcabbcca Ohad Ben-Cohen 2011-10-20  599  
bcabbcca Ohad Ben-Cohen 2011-10-20  600 dev_dbg(dev, "TX From 0x%x, To 
0x%x, Len %d, Flags %d, Reserved %d\n",
0963679c Anna, Suman2016-08-12  601 msg->src, msg->dst, 
msg->len, msg->flags, msg->reserved);
211e3a93 Anna, Suman2016-08-12 @602 dynamic_hex_dump("rpmsg_virtio 
TX: ", DUMP_PREFIX_NONE, 16, 1,
bcabbcca Ohad Ben-Cohen 2011-10-20  603  msg, 
sizeof(*msg) + msg->len, true);
bcabbcca Ohad Ben-Cohen 2011-10-20  604  
bcabbcca Ohad Ben-Cohen 2011-10-20  605 sg_init_one(, msg, 
sizeof(*msg) + len);

:: The code at line 602 was first introduced by commit
:: 211e3a93e5b5933e64ddfb299eee462ac7c7d500 rpmsg: use dynamic_hex_dump for 
hex dump traces

:: TO: Anna, Suman 
:: CC: Bjorn Andersson 

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH 2/2] x86/ras/mce_amd_inj: Preset MCE injection struct

2017-04-26 Thread kbuild test robot
Hi Borislav,

[auto build test ERROR on next-20170421]
[cannot apply to tip/x86/core v4.9-rc8 v4.9-rc7 v4.9-rc6 v4.11-rc8]
[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/Borislav-Petkov/x86-MCE-Export-memory_error/20170424-215449
config: i386-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

All errors (new ones prefixed by >>):

>> ERROR: "mce_setup" [arch/x86/ras/mce_amd_inj.ko] undefined!

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH] acpi, nfit: fix the memory error check in nfit_handle_mce

2017-04-20 Thread kbuild test robot
Hi Vishal,

[auto build test WARNING on pm/linux-next]
[also build test WARNING on v4.11-rc7 next-20170420]
[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/Vishal-Verma/acpi-nfit-fix-the-memory-error-check-in-nfit_handle_mce/20170421-084359
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git 
linux-next
config: x86_64-randconfig-x005-201716 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   drivers/acpi/nfit/mce.c: In function 'nfit_handle_mce':
>> drivers/acpi/nfit/mce.c:29:30: warning: comparison of constant '128ul' with 
>> boolean expression is always false [-Wbool-compare]
 if (!(mce->status & 0xef80) == BIT(7))
 ^~
>> drivers/acpi/nfit/mce.c:29:30: warning: logical not is only applied to the 
>> left hand side of comparison [-Wlogical-not-parentheses]

vim +/128ul +29 drivers/acpi/nfit/mce.c

13   * General Public License for more details.
14   */
15  #include 
16  #include 
17  #include 
18  #include 
19  #include "nfit.h"
20  
21  static int nfit_handle_mce(struct notifier_block *nb, unsigned long val,
22  void *data)
23  {
24  struct mce *mce = (struct mce *)data;
25  struct acpi_nfit_desc *acpi_desc;
26  struct nfit_spa *nfit_spa;
27  
28  /* We only care about memory errors */
  > 29  if (!(mce->status & 0xef80) == BIT(7))
30  return NOTIFY_DONE;
31  
32  /*
33   * mce->addr contains the physical addr accessed that caused the
34   * machine check. We need to walk through the list of NFITs, 
and see
35   * if any of them matches that address, and only then start a 
scrub.
36   */
37  mutex_lock(_desc_lock);

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH v3] axon_ram: add dax_operations support

2017-04-19 Thread kbuild test robot
Hi Dan,

[auto build test WARNING on powerpc/next]
[also build test WARNING on v4.11-rc7 next-20170419]
[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/Dan-Williams/axon_ram-add-dax_operations-support/20170420-091615
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget 
https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=powerpc 

All warnings (new ones prefixed by >>):

   arch/powerpc/sysdev/axonram.c: In function 'axon_ram_dax_direct_access':
   arch/powerpc/sysdev/axonram.c:176:31: error: implicit declaration of 
function 'dax_get_private' [-Werror=implicit-function-declaration]
 struct axon_ram_bank *bank = dax_get_private(dax_dev);
  ^~~
>> arch/powerpc/sysdev/axonram.c:176:31: warning: initialization makes pointer 
>> from integer without a cast [-Wint-conversion]
   arch/powerpc/sysdev/axonram.c: At top level:
   arch/powerpc/sysdev/axonram.c:181:21: error: variable 'axon_ram_dax_ops' has 
initializer but incomplete type
static const struct dax_operations axon_ram_dax_ops = {
^~
   arch/powerpc/sysdev/axonram.c:182:2: error: unknown field 'direct_access' 
specified in initializer
 .direct_access = axon_ram_dax_direct_access,
 ^
>> arch/powerpc/sysdev/axonram.c:182:19: warning: excess elements in struct 
>> initializer
 .direct_access = axon_ram_dax_direct_access,
  ^~
   arch/powerpc/sysdev/axonram.c:182:19: note: (near initialization for 
'axon_ram_dax_ops')
   arch/powerpc/sysdev/axonram.c: In function 'axon_ram_probe':
   arch/powerpc/sysdev/axonram.c:255:18: error: implicit declaration of 
function 'alloc_dax' [-Werror=implicit-function-declaration]
 bank->dax_dev = alloc_dax(bank, bank->disk->disk_name,
 ^
>> arch/powerpc/sysdev/axonram.c:255:16: warning: assignment makes pointer from 
>> integer without a cast [-Wint-conversion]
 bank->dax_dev = alloc_dax(bank, bank->disk->disk_name,
   ^
   arch/powerpc/sysdev/axonram.c:313:3: error: implicit declaration of function 
'kill_dax' [-Werror=implicit-function-declaration]
  kill_dax(bank->dax_dev);
  ^~~~
   arch/powerpc/sysdev/axonram.c:314:3: error: implicit declaration of function 
'put_dax' [-Werror=implicit-function-declaration]
  put_dax(bank->dax_dev);
  ^~~
   arch/powerpc/sysdev/axonram.c: At top level:
   arch/powerpc/sysdev/axonram.c:181:36: error: storage size of 
'axon_ram_dax_ops' isn't known
static const struct dax_operations axon_ram_dax_ops = {
   ^~~~
   cc1: some warnings being treated as errors

vim +176 arch/powerpc/sysdev/axonram.c

   170  };
   171  
   172  static long
   173  axon_ram_dax_direct_access(struct dax_device *dax_dev, pgoff_t pgoff, 
long nr_pages,
   174 void **kaddr, pfn_t *pfn)
   175  {
 > 176  struct axon_ram_bank *bank = dax_get_private(dax_dev);
   177  
   178  return __axon_ram_direct_access(bank, pgoff, nr_pages, kaddr, 
pfn);
   179  }
   180  
   181  static const struct dax_operations axon_ram_dax_ops = {
 > 182  .direct_access = axon_ram_dax_direct_access,
   183  };
   184  
   185  /**
   186   * axon_ram_probe - probe() method for platform driver
   187   * @device: see platform_driver method
   188   */
   189  static int axon_ram_probe(struct platform_device *device)
   190  {
   191  static int axon_ram_bank_id = -1;
   192  struct axon_ram_bank *bank;
   193  struct resource resource;
   194  int rc = 0;
   195  
   196  axon_ram_bank_id++;
   197  
   198  dev_info(>dev, "Found memory controller on %s\n",
   199  device->dev.of_node->full_name);
   200  
   201  bank = kzalloc(sizeof(struct axon_ram_bank), GFP_KERNEL);
   202  if (bank == NULL) {
   203  dev_err(>dev, "Out of memory\n");
   204  rc = -ENOMEM;
   205  goto failed;
   206  }
   207  
   208  device->dev.platform_data = bank;
   209  
   210  bank->device = device;
   211  
   212  if (of_address_to_resource(device->dev.of_node, 0, ) 
!= 0) {
   213  dev_err(>dev, "Cannot access device tree\n");
   214  rc = -EFAULT;
   215  goto failed;
   216  }
   217  
   218  bank->size = resource_size();
   219  
   220  if (bank->size == 0) {
   221  

Re: [PATCH v3] axon_ram: add dax_operations support

2017-04-19 Thread kbuild test robot
Hi Dan,

[auto build test ERROR on powerpc/next]
[also build test ERROR on v4.11-rc7 next-20170419]
[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/Dan-Williams/axon_ram-add-dax_operations-support/20170420-091615
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-defconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget 
https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=powerpc 

All errors (new ones prefixed by >>):

   arch/powerpc/sysdev/axonram.c: In function 'axon_ram_dax_direct_access':
>> arch/powerpc/sysdev/axonram.c:176:31: error: implicit declaration of 
>> function 'dax_get_private' [-Werror=implicit-function-declaration]
 struct axon_ram_bank *bank = dax_get_private(dax_dev);
  ^~~
>> arch/powerpc/sysdev/axonram.c:176:31: error: initialization makes pointer 
>> from integer without a cast [-Werror=int-conversion]
   arch/powerpc/sysdev/axonram.c: At top level:
>> arch/powerpc/sysdev/axonram.c:181:21: error: variable 'axon_ram_dax_ops' has 
>> initializer but incomplete type
static const struct dax_operations axon_ram_dax_ops = {
^~
>> arch/powerpc/sysdev/axonram.c:182:2: error: unknown field 'direct_access' 
>> specified in initializer
 .direct_access = axon_ram_dax_direct_access,
 ^
   arch/powerpc/sysdev/axonram.c:182:19: error: excess elements in struct 
initializer [-Werror]
 .direct_access = axon_ram_dax_direct_access,
  ^~
   arch/powerpc/sysdev/axonram.c:182:19: note: (near initialization for 
'axon_ram_dax_ops')
   arch/powerpc/sysdev/axonram.c: In function 'axon_ram_probe':
>> arch/powerpc/sysdev/axonram.c:255:18: error: implicit declaration of 
>> function 'alloc_dax' [-Werror=implicit-function-declaration]
 bank->dax_dev = alloc_dax(bank, bank->disk->disk_name,
 ^
>> arch/powerpc/sysdev/axonram.c:255:16: error: assignment makes pointer from 
>> integer without a cast [-Werror=int-conversion]
 bank->dax_dev = alloc_dax(bank, bank->disk->disk_name,
   ^
>> arch/powerpc/sysdev/axonram.c:313:3: error: implicit declaration of function 
>> 'kill_dax' [-Werror=implicit-function-declaration]
  kill_dax(bank->dax_dev);
  ^~~~
>> arch/powerpc/sysdev/axonram.c:314:3: error: implicit declaration of function 
>> 'put_dax' [-Werror=implicit-function-declaration]
  put_dax(bank->dax_dev);
  ^~~
   arch/powerpc/sysdev/axonram.c: At top level:
>> arch/powerpc/sysdev/axonram.c:181:36: error: storage size of 
>> 'axon_ram_dax_ops' isn't known
static const struct dax_operations axon_ram_dax_ops = {
   ^~~~
   cc1: all warnings being treated as errors

vim +/dax_get_private +176 arch/powerpc/sysdev/axonram.c

   170  };
   171  
   172  static long
   173  axon_ram_dax_direct_access(struct dax_device *dax_dev, pgoff_t pgoff, 
long nr_pages,
   174 void **kaddr, pfn_t *pfn)
   175  {
 > 176  struct axon_ram_bank *bank = dax_get_private(dax_dev);
   177  
   178  return __axon_ram_direct_access(bank, pgoff, nr_pages, kaddr, 
pfn);
   179  }
   180  
 > 181  static const struct dax_operations axon_ram_dax_ops = {
 > 182  .direct_access = axon_ram_dax_direct_access,
   183  };
   184  
   185  /**
   186   * axon_ram_probe - probe() method for platform driver
   187   * @device: see platform_driver method
   188   */
   189  static int axon_ram_probe(struct platform_device *device)
   190  {
   191  static int axon_ram_bank_id = -1;
   192  struct axon_ram_bank *bank;
   193  struct resource resource;
   194  int rc = 0;
   195  
   196  axon_ram_bank_id++;
   197  
   198  dev_info(>dev, "Found memory controller on %s\n",
   199  device->dev.of_node->full_name);
   200  
   201  bank = kzalloc(sizeof(struct axon_ram_bank), GFP_KERNEL);
   202  if (bank == NULL) {
   203  dev_err(>dev, "Out of memory\n");
   204  rc = -ENOMEM;
   205  goto failed;
   206  }
   207  
   208  device->dev.platform_data = bank;
   209  
   210  bank->device = device;
   211  
   212  if (of_address_to_resource(device->dev.of_node, 0, ) 
!= 0) {
   213  dev_err(>dev, "Cannot access device tree\n");
   214  rc = -EFAULT;
   215  goto failed;
   216  }
   217  
   218  bank->size = resource_size();
   219  
   220  if 

Re: [PATCH] acpi, nfit: skip ARS on machine-check-recovery capable platforms

2017-02-08 Thread kbuild test robot
Hi Dan,

[auto build test ERROR on pm/linux-next]
[also build test ERROR on v4.10-rc7 next-20170207]
[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/Dan-Williams/acpi-nfit-skip-ARS-on-machine-check-recovery-capable-platforms/20170208-081649
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git 
linux-next
config: i386-randconfig-x0-02081903 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

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

   In file included from arch/x86/include/asm/current.h:4:0,
from include/linux/mutex.h:13,
from include/linux/notifier.h:13,
from drivers/acpi/nfit/mce.c:15:
   drivers/acpi/nfit/mce.c: In function 'is_ars_required':
>> drivers/acpi/nfit/mce.c:97:37: error: 'mcsafe_key' undeclared (first use in 
>> this function)
if (static_branch_unlikely(_key))
^
   include/linux/compiler.h:168:42: note: in definition of macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
 ^
   include/linux/jump_label.h:387:44: note: in expansion of macro 
'static_key_enabled'
#define static_branch_unlikely(x) unlikely(static_key_enabled(&(x)->key))
   ^~
>> drivers/acpi/nfit/mce.c:97:13: note: in expansion of macro 
>> 'static_branch_unlikely'
if (static_branch_unlikely(_key))
^~
   drivers/acpi/nfit/mce.c:97:37: note: each undeclared identifier is reported 
only once for each function it appears in
if (static_branch_unlikely(_key))
^
   include/linux/compiler.h:168:42: note: in definition of macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
 ^
   include/linux/jump_label.h:387:44: note: in expansion of macro 
'static_key_enabled'
#define static_branch_unlikely(x) unlikely(static_key_enabled(&(x)->key))
   ^~
>> drivers/acpi/nfit/mce.c:97:13: note: in expansion of macro 
>> 'static_branch_unlikely'
if (static_branch_unlikely(_key))
^~

vim +/mcsafe_key +97 drivers/acpi/nfit/mce.c

 9   *
10   * This program is distributed in the hope that it will be useful, but
11   * WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13   * General Public License for more details.
14   */
  > 15  #include 
16  #include 
17  #include 
18  #include 
19  #include "nfit.h"
20  
21  static int nfit_handle_mce(struct notifier_block *nb, unsigned long val,
22  void *data)
23  {
24  struct mce *mce = (struct mce *)data;
25  struct acpi_nfit_desc *acpi_desc;
26  struct nfit_spa *nfit_spa;
27  
28  /* We only care about memory errors */
29  if (!(mce->status & MCACOD))
30  return NOTIFY_DONE;
31  
32  /*
33   * mce->addr contains the physical addr accessed that caused the
34   * machine check. We need to walk through the list of NFITs, 
and see
35   * if any of them matches that address, and only then start a 
scrub.
36   */
37  mutex_lock(_desc_lock);
38  list_for_each_entry(acpi_desc, _descs, list) {
39  struct device *dev = acpi_desc->dev;
40  int found_match = 0;
41  
42  mutex_lock(_desc->init_mutex);
43  list_for_each_entry(nfit_spa, _desc->spas, list) {
44  struct acpi_nfit_system_address *spa = 
nfit_spa->spa;
45  
46  if (nfit_spa_type(spa) != NFIT_SPA_PM)
47  continue;
48  /* find the spa that covers the mce addr */
49  if (spa->address > mce->addr)
50  continue;
51  if ((spa->address + spa->length - 1) < 
mce->addr)
52  continue;
53  found_match = 1;
54  dev_dbg(dev, "%s: addr in SPA %d (0x%llx, 
0x%llx)\n",
55  __func__, spa->range_index, 
spa->address,
56  spa->length);
57  /*
58   * We can break at the first match because 
we're going
59   

Re: [PATCH] mm: replace FAULT_FLAG_SIZE with parameter to huge_fault

2017-02-03 Thread kbuild test robot
Hi Dave,

[auto build test ERROR on mmotm/master]
[cannot apply to linus/master linux/master v4.10-rc6 next-20170203]
[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/mm-replace-FAULT_FLAG_SIZE-with-parameter-to-huge_fault/20170204-053548
base:   git://git.cmpxchg.org/linux-mmotm.git master
config: i386-randconfig-x004-201705 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

All errors (new ones prefixed by >>):

>> fs/ext4/file.c:280:1: error: conflicting types for 'ext4_dax_huge_fault'
ext4_dax_huge_fault(struct vm_fault *vmf)
^~~
   fs/ext4/file.c:258:12: note: previous definition of 'ext4_dax_huge_fault' 
was here
static int ext4_dax_huge_fault(struct vm_fault *vmf,
   ^~~
   fs/ext4/file.c: In function 'ext4_dax_huge_fault':
>> fs/ext4/file.c:292:32: error: incompatible type for argument 2 of 
>> 'dax_iomap_fault'
 result = dax_iomap_fault(vmf, _iomap_ops);
   ^
   In file included from fs/ext4/file.c:25:0:
   include/linux/dax.h:41:5: note: expected 'enum page_entry_size' but argument 
is of type 'struct iomap_ops *'
int dax_iomap_fault(struct vm_fault *vmf, enum page_entry_size pe_size,
^~~
>> fs/ext4/file.c:292:11: error: too few arguments to function 'dax_iomap_fault'
 result = dax_iomap_fault(vmf, _iomap_ops);
  ^~~
   In file included from fs/ext4/file.c:25:0:
   include/linux/dax.h:41:5: note: declared here
int dax_iomap_fault(struct vm_fault *vmf, enum page_entry_size pe_size,
^~~
   fs/ext4/file.c: In function 'ext4_dax_fault':
>> fs/ext4/file.c:302:9: error: too many arguments to function 
>> 'ext4_dax_huge_fault'
 return ext4_dax_huge_fault(vmf, PE_SIZE_PTE);
^~~
   fs/ext4/file.c:280:1: note: declared here
ext4_dax_huge_fault(struct vm_fault *vmf)
^~~
   fs/ext4/file.c: At top level:
>> fs/ext4/file.c:337:16: error: initialization from incompatible pointer type 
>> [-Werror=incompatible-pointer-types]
 .huge_fault = ext4_dax_huge_fault,
   ^~~
   fs/ext4/file.c:337:16: note: (near initialization for 
'ext4_dax_vm_ops.huge_fault')
   fs/ext4/file.c:258:12: warning: 'ext4_dax_huge_fault' defined but not used 
[-Wunused-function]
static int ext4_dax_huge_fault(struct vm_fault *vmf,
   ^~~
   cc1: some warnings being treated as errors

vim +/ext4_dax_huge_fault +280 fs/ext4/file.c

01a33b4ac Matthew Wilcox 2015-09-08  274sb_end_pagefault(sb);
01a33b4ac Matthew Wilcox 2015-09-08  275  
01a33b4ac Matthew Wilcox 2015-09-08  276return result;
923ae0ff9 Ross Zwisler   2015-02-16  277  }
923ae0ff9 Ross Zwisler   2015-02-16  278  
c6da0697e Dave Jiang 2017-02-02  279  static int
30599588c Dave Jiang 2017-02-02 @280  ext4_dax_huge_fault(struct vm_fault 
*vmf)
11bd1a9ec Matthew Wilcox 2015-09-08  281  {
01a33b4ac Matthew Wilcox 2015-09-08  282int result;
e6ae40ec2 Dave Jiang 2017-02-02  283struct inode *inode = 
file_inode(vmf->vma->vm_file);
01a33b4ac Matthew Wilcox 2015-09-08  284struct super_block *sb = 
inode->i_sb;
c6da0697e Dave Jiang 2017-02-02  285bool write = vmf->flags & 
FAULT_FLAG_WRITE;
01a33b4ac Matthew Wilcox 2015-09-08  286  
01a33b4ac Matthew Wilcox 2015-09-08  287if (write) {
01a33b4ac Matthew Wilcox 2015-09-08  288sb_start_pagefault(sb);
e6ae40ec2 Dave Jiang 2017-02-02  289
file_update_time(vmf->vma->vm_file);
1db175428 Jan Kara   2016-10-21  290}
ea3d7209c Jan Kara   2015-12-07  291
down_read(_I(inode)->i_mmap_sem);
30599588c Dave Jiang 2017-02-02 @292result = dax_iomap_fault(vmf, 
_iomap_ops);
ea3d7209c Jan Kara   2015-12-07  293
up_read(_I(inode)->i_mmap_sem);
1db175428 Jan Kara   2016-10-21  294if (write)
01a33b4ac Matthew Wilcox 2015-09-08  295sb_end_pagefault(sb);
01a33b4ac Matthew Wilcox 2015-09-08  296  
01a33b4ac Matthew Wilcox 2015-09-08  297return result;
11bd1a9ec Matthew Wilcox 2015-09-08  298  }
11bd1a9ec Matthew Wilcox 2015-09-08  299  
22711acc4 Dave Jiang 2017-02-03  300  static int ext4_dax_fault(struct 
vm_fault *vmf)
22711acc4 Dave Jiang 2017-02-03  301  {
22711acc4 Dave Jiang 2017-02-03 @302return ext4_dax_huge_fault(vmf, 
PE_SIZE_PTE);
22711acc4 Dave Jiang 2017-02-03  303  }
22711acc4 Dave Jiang 2017-02-03  304  
ea3d7209c Jan Kara   2015-12-07  305  /*
1e9d180ba Ross Zwisler   2016-02-27  306   * Handle write fault for VM_MIXEDMAP 
mappings. Similarly to ext4_dax_fault()
ea3d7209c Jan Kara   2015-12-07  307   * handler we 

Re: [PATCH 2/2] tools/testing/nvdimm: test get_config_size DSM failures

2016-09-13 Thread kbuild test robot
Hi Dan,

[auto build test WARNING on next-20160913]
[cannot apply to pm/linux-next linus/master linux/master v4.8-rc6 v4.8-rc5 
v4.8-rc4 v4.8-rc6]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]
[Suggest to use git(>=2.9.0) format-patch --base= (or --base=auto for 
convenience) to record what (public, well-known) commit your patch series was 
built on]
[Check https://git-scm.com/docs/git-format-patch for more information]

url:
https://github.com/0day-ci/linux/commits/Dan-Williams/nfit-fail-DSMs-that-return-non-zero-status-by-default/20160914-093545
config: x86_64-rhel (attached as .config)
compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   tools/testing/nvdimm//test/nfit.c: In function 'handle_show':
>> tools/testing/nvdimm//test/nfit.c:609:26: warning: format '%lx' expects 
>> argument of type 'long unsigned int', but argument 3 has type 'u32 {aka 
>> unsigned int}' [-Wformat=]
 return sprintf(buf, "%#lx", handle[dimm]);
 ^

vim +609 tools/testing/nvdimm//test/nfit.c

   593  
   594  if (sscanf(dev_name(dev), "test_dimm%d", ) != 1
   595  || dimm >= NUM_DCR || dimm < 0)
   596  return -ENXIO;
   597  return dimm;
   598  }
   599  
   600  
   601  static ssize_t handle_show(struct device *dev, struct device_attribute 
*attr,
   602  char *buf)
   603  {
   604  int dimm = dimm_name_to_id(dev);
   605  
   606  if (dimm < 0)
   607  return dimm;
   608  
 > 609  return sprintf(buf, "%#lx", handle[dimm]);
   610  }
   611  DEVICE_ATTR_RO(handle);
   612  
   613  static ssize_t fail_cmd_show(struct device *dev, struct 
device_attribute *attr,
   614  char *buf)
   615  {
   616  int dimm = dimm_name_to_id(dev);
   617  

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH 1/2] libnvdimm: add missing macros

2016-07-08 Thread kbuild test robot
Hi,

[auto build test WARNING on linux-nvdimm/libnvdimm-for-next]
[also build test WARNING on v4.7-rc6 next-20160708]
[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/Eric-Engestrom/libnvdimm-add-missing-macros/20160709-003310
base:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
libnvdimm-for-next
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.1.1-1) 6.1.1 20160430
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   In file included from drivers/dax/../nvdimm/nd.h:20:0,
from drivers/dax/pmem.c:18:
>> include/uapi/linux/ndctl.h:24:0: warning: "ARRAY_SIZE" redefined
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr)[0])

   In file included from include/linux/percpu-refcount.h:49:0,
from drivers/dax/pmem.c:13:
   include/linux/kernel.h:54:0: note: this is the location of the previous 
definition
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + 
__must_be_array(arr))


vim +/ARRAY_SIZE +24 include/uapi/linux/ndctl.h

 8   * This program is distributed in the hope it will be useful, but 
WITHOUT ANY
 9   * WARRANTY; without even the implied warranty of MERCHANTABILITY or 
FITNESS
10   * FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License 
for
11   * more details.
12   */
13  #ifndef __NDCTL_H__
14  #define __NDCTL_H__
15  
16  #include 
17  
18  #ifdef __GNUC__
19  #define __packed __attribute__((packed))
20  #else
21  #define __packed
22  #endif
23  
  > 24  #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr)[0])
25  
26  struct nd_cmd_smart {
27  __u32 status;
28  __u8 data[128];
29  } __packed;
30  
31  #define ND_SMART_HEALTH_VALID   (1 << 0)
32  #define ND_SMART_TEMP_VALID (1 << 1)

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH] dm stripe: add DAX support

2016-06-24 Thread kbuild test robot
Hi,

[auto build test ERROR on dm/for-next]
[also build test ERROR on v4.7-rc4 next-20160624]
[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/Toshi-Kani/dm-stripe-add-DAX-support/20160625-022600
base:   
https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git 
for-next
config: x86_64-randconfig-s5-06250328 (attached as .config)
compiler: gcc-6 (Debian 6.1.1-1) 6.1.1 20160430
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

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

>> drivers/md/dm-stripe.c:452:2: error: unknown field 'direct_access' specified 
>> in initializer
 .direct_access = stripe_direct_access,
 ^
>> drivers/md/dm-stripe.c:452:19: error: initialization from incompatible 
>> pointer type [-Werror=incompatible-pointer-types]
 .direct_access = stripe_direct_access,
  ^~~~
   drivers/md/dm-stripe.c:452:19: note: (near initialization for 
'stripe_target.list.next')
>> drivers/md/dm-stripe.c:441:43: warning: missing braces around initializer 
>> [-Wmissing-braces]
static struct target_type stripe_target = {
  ^
   drivers/md/dm-stripe.c:441:43: note: (near initialization for 
'stripe_target')
   cc1: some warnings being treated as errors

vim +/direct_access +452 drivers/md/dm-stripe.c

   435  unsigned chunk_size = sc->chunk_size << SECTOR_SHIFT;
   436  
   437  blk_limits_io_min(limits, chunk_size);
   438  blk_limits_io_opt(limits, chunk_size * sc->stripes);
   439  }
   440  
 > 441  static struct target_type stripe_target = {
   442  .name   = "striped",
   443  .version = {1, 5, 1},
   444  .module = THIS_MODULE,
   445  .ctr= stripe_ctr,
   446  .dtr= stripe_dtr,
   447  .map= stripe_map,
   448  .end_io = stripe_end_io,
   449  .status = stripe_status,
   450  .iterate_devices = stripe_iterate_devices,
   451  .io_hints = stripe_io_hints,
 > 452  .direct_access = stripe_direct_access,
   453  };
   454  
   455  int __init dm_stripe_init(void)

---
0-DAY kernel test infrastructureOpen 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


Re: [PATCH] dm stripe: add DAX support

2016-06-24 Thread kbuild test robot
Hi,

[auto build test WARNING on dm/for-next]
[also build test WARNING on v4.7-rc4 next-20160624]
[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/Toshi-Kani/dm-stripe-add-DAX-support/20160625-022600
base:   
https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git 
for-next
config: m68k-sun3_defconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 4.9.0
reproduce:
wget 
https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross
 -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=m68k 

All warnings (new ones prefixed by >>):

   drivers/md/dm-stripe.c:452:2: error: unknown field 'direct_access' specified 
in initializer
 .direct_access = stripe_direct_access,
 ^
   drivers/md/dm-stripe.c:452:2: warning: missing braces around initializer 
[-Wmissing-braces]
   drivers/md/dm-stripe.c:452:2: warning: (near initialization for 
'stripe_target.list') [-Wmissing-braces]
>> drivers/md/dm-stripe.c:452:2: warning: initialization from incompatible 
>> pointer type
   drivers/md/dm-stripe.c:452:2: warning: (near initialization for 
'stripe_target.list.next')

vim +452 drivers/md/dm-stripe.c

   436  
   437  blk_limits_io_min(limits, chunk_size);
   438  blk_limits_io_opt(limits, chunk_size * sc->stripes);
   439  }
   440  
   441  static struct target_type stripe_target = {
   442  .name   = "striped",
   443  .version = {1, 5, 1},
   444  .module = THIS_MODULE,
   445  .ctr= stripe_ctr,
   446  .dtr= stripe_dtr,
   447  .map= stripe_map,
   448  .end_io = stripe_end_io,
   449  .status = stripe_status,
   450  .iterate_devices = stripe_iterate_devices,
   451  .io_hints = stripe_io_hints,
 > 452  .direct_access = stripe_direct_access,
   453  };
   454  
   455  int __init dm_stripe_init(void)
   456  {
   457  int r;
   458  
   459  r = dm_register_target(_target);
   460  if (r < 0)

---
0-DAY kernel test infrastructureOpen 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