From: Dan Williams Subject: Re: [PATCH] mm: replace FAULT_FLAG_SIZE with parameter to huge_fault Date: Fri, 3 Feb 2017 16:00:49 -0800 Message-ID: References: <201702040648.oOjnlEcm%fengguang.wu@intel.com> <2020f442-8e77-cf14-a6b1-b4b00d0da80b@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: kbuild test robot , kbuild-all@01.org, Andrew Morton , Matthew Wilcox , "linux-nvdimm@lists.01.org" , Dave Hansen , linux-xfs@vger.kernel.org, Linux MM , "Kirill A. Shutemov" , Jan Kara , linux-ext4 , Ross Zwisler , Vlastimil Babka To: Dave Jiang Return-path: In-Reply-To: Sender: owner-linux-mm@kvack.org List-Id: linux-ext4.vger.kernel.org On Fri, Feb 3, 2017 at 3:26 PM, Dan Williams wrote: > On Fri, Feb 3, 2017 at 3:25 PM, Dave Jiang 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: 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); -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org