From: kbuild test robot <lkp@intel.com>
To: Dave Jiang <dave.jiang@intel.com>
Cc: kbuild-all@01.org, akpm@linux-foundation.org,
mawilcox@microsoft.com, linux-nvdimm@lists.01.org,
dave.hansen@linux.intel.com, linux-xfs@vger.kernel.org,
linux-mm@kvack.org, kirill.shutemov@linux.intel.com,
jack@suse.com, dan.j.williams@intel.com,
linux-ext4@vger.kernel.org, ross.zwisler@linux.intel.com,
vbabka@suse.cz
Subject: Re: [PATCH] mm: replace FAULT_FLAG_SIZE with parameter to huge_fault
Date: Sat, 4 Feb 2017 11:51:57 +0800 [thread overview]
Message-ID: <201702041153.JZlQT4wK%fengguang.wu@intel.com> (raw)
In-Reply-To: <148615748258.43180.1690152053774975329.stgit@djiang5-desk3.ch.intel.com>
[-- Attachment #1: Type: text/plain, Size: 3822 bytes --]
Hi Dave,
[auto build test WARNING 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]
url: https://github.com/0day-ci/linux/commits/Dave-Jiang/mm-replace-FAULT_FLAG_SIZE-with-parameter-to-huge_fault/20170204-053548
base: git://git.cmpxchg.org/linux-mmotm.git master
config: x86_64-randconfig-in0-02040556 (attached as .config)
compiler: gcc-4.6 (Debian 4.6.4-7) 4.6.4
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All warnings (new ones prefixed by >>):
fs/ext4/file.c:280:1: error: conflicting types for 'ext4_dax_huge_fault'
fs/ext4/file.c:258:12: note: previous definition of 'ext4_dax_huge_fault' was here
fs/ext4/file.c: In function 'ext4_dax_huge_fault':
fs/ext4/file.c:292:2: error: incompatible type for argument 2 of 'dax_iomap_fault'
include/linux/dax.h:41:5: note: expected 'enum page_entry_size' but argument is of type 'struct iomap_ops *'
fs/ext4/file.c:292:2: error: too few arguments to function 'dax_iomap_fault'
include/linux/dax.h:41:5: note: declared here
fs/ext4/file.c: In function 'ext4_dax_fault':
fs/ext4/file.c:302:2: error: too many arguments to function 'ext4_dax_huge_fault'
fs/ext4/file.c:280:1: note: declared here
fs/ext4/file.c: At top level:
>> fs/ext4/file.c:337:2: warning: initialization from incompatible pointer type [enabled by default]
fs/ext4/file.c:337:2: warning: (near initialization for 'ext4_dax_vm_ops.huge_fault') [enabled by default]
fs/ext4/file.c:258:12: warning: 'ext4_dax_huge_fault' defined but not used [-Wunused-function]
vim +337 fs/ext4/file.c
286
287 if (write) {
288 sb_start_pagefault(sb);
289 file_update_time(vmf->vma->vm_file);
290 }
291 down_read(&EXT4_I(inode)->i_mmap_sem);
> 292 result = dax_iomap_fault(vmf, &ext4_iomap_ops);
293 up_read(&EXT4_I(inode)->i_mmap_sem);
294 if (write)
295 sb_end_pagefault(sb);
296
297 return result;
298 }
299
300 static int ext4_dax_fault(struct vm_fault *vmf)
301 {
302 return ext4_dax_huge_fault(vmf, PE_SIZE_PTE);
303 }
304
305 /*
306 * Handle write fault for VM_MIXEDMAP mappings. Similarly to ext4_dax_fault()
307 * handler we check for races agaist truncate. Note that since we cycle through
308 * i_mmap_sem, we are sure that also any hole punching that began before we
309 * were called is finished by now and so if it included part of the file we
310 * are working on, our pte will get unmapped and the check for pte_same() in
311 * wp_pfn_shared() fails. Thus fault gets retried and things work out as
312 * desired.
313 */
314 static int ext4_dax_pfn_mkwrite(struct vm_fault *vmf)
315 {
316 struct inode *inode = file_inode(vmf->vma->vm_file);
317 struct super_block *sb = inode->i_sb;
318 loff_t size;
319 int ret;
320
321 sb_start_pagefault(sb);
322 file_update_time(vmf->vma->vm_file);
323 down_read(&EXT4_I(inode)->i_mmap_sem);
324 size = (i_size_read(inode) + PAGE_SIZE - 1) >> PAGE_SHIFT;
325 if (vmf->pgoff >= size)
326 ret = VM_FAULT_SIGBUS;
327 else
328 ret = dax_pfn_mkwrite(vmf);
329 up_read(&EXT4_I(inode)->i_mmap_sem);
330 sb_end_pagefault(sb);
331
332 return ret;
333 }
334
335 static const struct vm_operations_struct ext4_dax_vm_ops = {
336 .fault = ext4_dax_fault,
> 337 .huge_fault = ext4_dax_huge_fault,
338 .page_mkwrite = ext4_dax_fault,
339 .pfn_mkwrite = ext4_dax_pfn_mkwrite,
340 };
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 24912 bytes --]
next prev parent reply other threads:[~2017-02-04 3:52 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-03 21:31 Dave Jiang
2017-02-03 21:47 ` Dan Williams
2017-02-03 22:56 ` kbuild test robot
2017-02-03 23:25 ` Dave Jiang
2017-02-03 23:26 ` Dan Williams
2017-02-04 0:00 ` Dan Williams
2017-02-04 0:07 ` Dave Jiang
2017-02-09 4:34 ` [kbuild-all] " Ye Xiaolong
2017-02-04 3:51 ` kbuild test robot [this message]
2017-02-06 8:51 ` Jan Kara
2017-02-06 14:36 ` Christoph Hellwig
2017-02-06 16:24 ` Dan Williams
2017-02-06 17:27 ` Christoph Hellwig
2017-02-06 17:30 ` Dan Williams
2017-02-07 8:44 ` Kirill A. Shutemov
2017-02-07 16:56 ` Dan Williams
2017-02-07 17:40 ` Kirill A. Shutemov
2017-02-07 18:08 ` Dan Williams
2017-02-08 8:41 ` Jan Kara
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201702041153.JZlQT4wK%fengguang.wu@intel.com \
--to=lkp@intel.com \
--cc=akpm@linux-foundation.org \
--cc=dan.j.williams@intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=dave.jiang@intel.com \
--cc=jack@suse.com \
--cc=kbuild-all@01.org \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-nvdimm@lists.01.org \
--cc=linux-xfs@vger.kernel.org \
--cc=mawilcox@microsoft.com \
--cc=ross.zwisler@linux.intel.com \
--cc=vbabka@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox