On 02/03/2017 05:00 PM, Dan Williams wrote: > On Fri, Feb 3, 2017 at 3:26 PM, Dan Williams <dan.j.williams@xxxxxxxxx> wrote: >> On Fri, Feb 3, 2017 at 3:25 PM, Dave Jiang <dave.jiang@xxxxxxxxx> wrote: >>> On 02/03/2017 03:56 PM, kbuild test robot wrote: >>>> 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] >>> >>> This one is a bit odd. I just pulled mmotm tree master branch and built >>> with the attached .config and it passed for me (and I don't see this >>> commit in the master branch). I also built linux-next with this patch on >>> top and it also passes with attached .config. Looking at the err log >>> below it seems the code has a mix of partial from before and after the >>> patch. I'm rather confused about it.... >> >> This is a false positive. It tried to build it against latest mainline >> instead of linux-next. > > On second look it seems I ended up with a duplicate > ext4_huge_dax_fault after "git am" when I apply this on top of > next-20170202. The following fixes it up for me and tests fine: I think it's missing this patch from Ross http://marc.info/?l=linux-mm&m=148581319303697&w=2 > > diff --git a/fs/ext4/file.c b/fs/ext4/file.c > index f8f4f6d068e5..e8ab46efc4f9 100644 > --- a/fs/ext4/file.c > +++ b/fs/ext4/file.c > @@ -276,27 +276,6 @@ static int ext4_dax_huge_fault(struct vm_fault *vmf, > return result; > } > > -static int > -ext4_dax_huge_fault(struct vm_fault *vmf) > -{ > - int result; > - struct inode *inode = file_inode(vmf->vma->vm_file); > - struct super_block *sb = inode->i_sb; > - bool write = vmf->flags & FAULT_FLAG_WRITE; > - > - if (write) { > - sb_start_pagefault(sb); > - file_update_time(vmf->vma->vm_file); > - } > - down_read(&EXT4_I(inode)->i_mmap_sem); > - result = dax_iomap_fault(vmf, &ext4_iomap_ops); > - up_read(&EXT4_I(inode)->i_mmap_sem); > - if (write) > - sb_end_pagefault(sb); > - > - return result; > -} > - > static int ext4_dax_fault(struct vm_fault *vmf) > { > return ext4_dax_huge_fault(vmf, PE_SIZE_PTE); >