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

From: kbuild test robot
Date: Wed Jul 04 2018 - 21:08:34 EST


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 infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip