These platforms define PMD_ORDER in asm/pgtable.h This means that as soon as dax.c included asm/pgtable.h in commit 11cf9d863dcb ("fs/dax: Deposit pagetable even when installing zero page") we clash with PMD_ORDER introduced by cfc93c6c6c96 ("dax: Convert dax_insert_pfn_mkwrite to XArray") and we get this problem: /home/jejb/git/linux-build/fs/dax.c:53: warning: "PMD_ORDER" redefined 53 | #define PMD_ORDER (PMD_SHIFT - PAGE_SHIFT) | In file included from /home/jejb/git/linux-build/include/linux/pgtable.h:6, from /home/jejb/git/linux-build/include/linux/mm.h:33, from /home/jejb/git/linux-build/include/linux/bvec.h:14, from /home/jejb/git/linux-build/include/linux/blk_types.h:10, from /home/jejb/git/linux-build/include/linux/genhd.h:19, from /home/jejb/git/linux-build/include/linux/blkdev.h:8, from /home/jejb/git/linux-build/fs/dax.c:10: /home/jejb/git/linux-build/arch/parisc/include/asm/pgtable.h:124: note: this is the location of the previous definition 124 | #define PMD_ORDER 1 /* Number of pages per pmd */ | make[2]: *** Deleting file 'fs/dax.o' Fix by renaming dax's PMD_ORDER to DAX_PMD_ORDER Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> --- fs/dax.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/dax.c b/fs/dax.c index 5b47834f2e1b..4d3b0db5c321 100644 --- a/fs/dax.c +++ b/fs/dax.c @@ -50,7 +50,7 @@ static inline unsigned int pe_order(enum page_entry_size pe_size) #define PG_PMD_NR (PMD_SIZE >> PAGE_SHIFT) /* The order of a PMD entry */ -#define PMD_ORDER (PMD_SHIFT - PAGE_SHIFT) +#define DAX_PMD_ORDER (PMD_SHIFT - PAGE_SHIFT) static wait_queue_head_t wait_table[DAX_WAIT_TABLE_ENTRIES]; @@ -98,7 +98,7 @@ static bool dax_is_locked(void *entry) static unsigned int dax_entry_order(void *entry) { if (xa_to_value(entry) & DAX_PMD) - return PMD_ORDER; + return DAX_PMD_ORDER; return 0; } @@ -1471,7 +1471,7 @@ static vm_fault_t dax_iomap_pmd_fault(struct vm_fault *vmf, pfn_t *pfnp, { struct vm_area_struct *vma = vmf->vma; struct address_space *mapping = vma->vm_file->f_mapping; - XA_STATE_ORDER(xas, &mapping->i_pages, vmf->pgoff, PMD_ORDER); + XA_STATE_ORDER(xas, &mapping->i_pages, vmf->pgoff, DAX_PMD_ORDER); unsigned long pmd_addr = vmf->address & PMD_MASK; bool write = vmf->flags & FAULT_FLAG_WRITE; bool sync; @@ -1530,7 +1530,7 @@ static vm_fault_t dax_iomap_pmd_fault(struct vm_fault *vmf, pfn_t *pfnp, * entry is already in the array, for instance), it will return * VM_FAULT_FALLBACK. */ - entry = grab_mapping_entry(&xas, mapping, PMD_ORDER); + entry = grab_mapping_entry(&xas, mapping, DAX_PMD_ORDER); if (xa_is_internal(entry)) { result = xa_to_internal(entry); goto fallback; @@ -1696,7 +1696,7 @@ dax_insert_pfn_mkwrite(struct vm_fault *vmf, pfn_t pfn, unsigned int order) if (order == 0) ret = vmf_insert_mixed_mkwrite(vmf->vma, vmf->address, pfn); #ifdef CONFIG_FS_DAX_PMD - else if (order == PMD_ORDER) + else if (order == DAX_PMD_ORDER) ret = vmf_insert_pfn_pmd(vmf, pfn, FAULT_FLAG_WRITE); #endif else -- 2.29.2