Re: [PATCH 3/3] dax: Clear dirty entry tags on cache flush
From: kbuild test robot <hidden>
Date: 2016-06-21 17:31:00
Also in:
linux-fsdevel, nvdimm
Hi, [auto build test ERROR on v4.7-rc4] [also build test ERROR on next-20160621] [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/Jan-Kara/dax-Clear-dirty-bits-after-flushing-caches/20160621-234931 config: i386-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=i386 All error/warnings (new ones prefixed by >>): In file included from include/linux/pagemap.h:10:0, from include/linux/blkdev.h:14, from fs/dax.c:18: fs/dax.c: In function 'dax_mapping_entry_mkclean':
quoted
arch/x86/include/asm/pgtable_32.h:52:38: error: incompatible type for argument 1 of '__kunmap_atomic'
#define pte_unmap(pte) kunmap_atomic((pte))
^
include/linux/highmem.h:127:18: note: in definition of macro 'kunmap_atomic'
__kunmap_atomic(addr); \
^~~~quoted
include/linux/mm.h:1681:2: note: in expansion of macro 'pte_unmap'
pte_unmap(pte); \
^~~~~~~~~quoted
fs/dax.c:714:3: note: in expansion of macro 'pte_unmap_unlock'
pte_unmap_unlock(pte, ptl);
^~~~~~~~~~~~~~~~
In file included from include/linux/highmem.h:34:0,
from include/linux/pagemap.h:10,
from include/linux/blkdev.h:14,
from fs/dax.c:18:
arch/x86/include/asm/highmem.h:68:6: note: expected 'void *' but argument is of type 'pte_t {aka union <anonymous>}'
void __kunmap_atomic(void *kvaddr);
^~~~~~~~~~~~~~~
vim +/pte_unmap_unlock +714 fs/dax.c
698 address = pgoff_address(index, vma);
699 changed = false;
700 if (follow_pte(vma->vm_mm, address, &ptep, &ptl))
701 continue;
702 if (pfn != pte_pfn(*ptep))
703 goto unlock;
704 if (!pte_dirty(*ptep) && !pte_write(*ptep))
705 goto unlock;
706
707 flush_cache_page(vma, address, pfn);
708 pte = ptep_clear_flush(vma, address, ptep);
709 pte = pte_wrprotect(pte);
710 pte = pte_mkclean(pte);
711 set_pte_at(vma->vm_mm, address, ptep, pte);
712 changed = true;
713 unlock:
> 714 pte_unmap_unlock(pte, ptl);
715
716 if (changed)
717 mmu_notifier_invalidate_page(vma->vm_mm, address);
718 }
719 i_mmap_unlock_read(mapping);
720 }
721
722 static int dax_writeback_one(struct block_device *bdev,
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation Attachments
- .config.gz [application/octet-stream] 55046 bytes