All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Shiyang Ruan <ruansy.fnst@fujitsu.com>,
	djwong@kernel.org, hch@lst.de, linux-xfs@vger.kernel.org
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
	ruansy.fnst@fujitsu.com, dan.j.williams@intel.com,
	david@fromorbit.com, linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org, nvdimm@lists.linux.dev,
	rgoldwyn@suse.de
Subject: Re: [PATCH v9 3/8] fsdax: Replace mmap entry in case of CoW
Date: Thu, 16 Sep 2021 22:51:33 +0800	[thread overview]
Message-ID: <202109162255.bk3U8qpq-lkp@intel.com> (raw)
In-Reply-To: <20210915104501.4146910-4-ruansy.fnst@fujitsu.com>

[-- Attachment #1: Type: text/plain, Size: 4670 bytes --]

Hi Shiyang,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.15-rc1 next-20210916]
[cannot apply to xfs-linux/for-next hch-configfs/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Shiyang-Ruan/fsdax-xfs-Add-reflink-dedupe-support-for-fsdax/20210915-184743
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 3ca706c189db861b2ca2019a0901b94050ca49d8
config: hexagon-randconfig-r045-20210916 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project c8b3d7d6d6de37af68b2f379d0e37304f78e115f)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/34b16b56bacb2d3e1e98f9ed47d20b545358bdcd
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Shiyang-Ruan/fsdax-xfs-Add-reflink-dedupe-support-for-fsdax/20210915-184743
        git checkout 34b16b56bacb2d3e1e98f9ed47d20b545358bdcd
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=hexagon 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> fs/dax.c:1483:38: error: incompatible pointer types passing 'const struct iomap_iter *' to parameter of type 'const struct iomap *' [-Werror,-Wincompatible-pointer-types]
                   return dax_pmd_load_hole(xas, vmf, iter, entry);
                                                      ^~~~
   fs/dax.c:1206:23: note: passing argument to parameter 'iomap' here
                   const struct iomap *iomap, void **entry)
                                       ^
   1 error generated.


vim +1483 fs/dax.c

  1451	
  1452	/**
  1453	 * dax_fault_iter - Common actor to handle pfn insertion in PTE/PMD fault.
  1454	 * @vmf:	vm fault instance
  1455	 * @iter:	iomap iter
  1456	 * @pfnp:	pfn to be returned
  1457	 * @xas:	the dax mapping tree of a file
  1458	 * @entry:	an unlocked dax entry to be inserted
  1459	 * @pmd:	distinguish whether it is a pmd fault
  1460	 */
  1461	static vm_fault_t dax_fault_iter(struct vm_fault *vmf,
  1462			const struct iomap_iter *iter, pfn_t *pfnp,
  1463			struct xa_state *xas, void **entry, bool pmd)
  1464	{
  1465		const struct iomap *iomap = &iter->iomap;
  1466		const struct iomap *srcmap = &iter->srcmap;
  1467		size_t size = pmd ? PMD_SIZE : PAGE_SIZE;
  1468		loff_t pos = (loff_t)xas->xa_index << PAGE_SHIFT;
  1469		bool write = iter->flags & IOMAP_WRITE;
  1470		unsigned long entry_flags = pmd ? DAX_PMD : 0;
  1471		int err = 0;
  1472		pfn_t pfn;
  1473		void *kaddr;
  1474	
  1475		if (!pmd && vmf->cow_page)
  1476			return dax_fault_cow_page(vmf, iter);
  1477	
  1478		/* if we are reading UNWRITTEN and HOLE, return a hole. */
  1479		if (!write &&
  1480		    (iomap->type == IOMAP_UNWRITTEN || iomap->type == IOMAP_HOLE)) {
  1481			if (!pmd)
  1482				return dax_load_hole(xas, vmf, iter, entry);
> 1483			return dax_pmd_load_hole(xas, vmf, iter, entry);
  1484		}
  1485	
  1486		if (iomap->type != IOMAP_MAPPED && !(iomap->flags & IOMAP_F_SHARED)) {
  1487			WARN_ON_ONCE(1);
  1488			return pmd ? VM_FAULT_FALLBACK : VM_FAULT_SIGBUS;
  1489		}
  1490	
  1491		err = dax_iomap_direct_access(iomap, pos, size, &kaddr, &pfn);
  1492		if (err)
  1493			return pmd ? VM_FAULT_FALLBACK : dax_fault_return(err);
  1494	
  1495		*entry = dax_insert_entry(xas, vmf, iter, *entry, pfn, entry_flags);
  1496	
  1497		if (write &&
  1498		    srcmap->addr != IOMAP_HOLE && srcmap->addr != iomap->addr) {
  1499			err = dax_iomap_cow_copy(pos, size, size, srcmap, kaddr);
  1500			if (err)
  1501				return dax_fault_return(err);
  1502		}
  1503	
  1504		if (dax_fault_is_synchronous(iter, vmf->vma))
  1505			return dax_fault_synchronous_pfnp(pfnp, pfn);
  1506	
  1507		/* insert PMD pfn */
  1508		if (pmd)
  1509			return vmf_insert_pfn_pmd(vmf, pfn, write);
  1510	
  1511		/* insert PTE pfn */
  1512		if (write)
  1513			return vmf_insert_mixed_mkwrite(vmf->vma, vmf->address, pfn);
  1514		return vmf_insert_mixed(vmf->vma, vmf->address, pfn);
  1515	}
  1516	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 28632 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v9 3/8] fsdax: Replace mmap entry in case of CoW
Date: Thu, 16 Sep 2021 22:51:33 +0800	[thread overview]
Message-ID: <202109162255.bk3U8qpq-lkp@intel.com> (raw)
In-Reply-To: <20210915104501.4146910-4-ruansy.fnst@fujitsu.com>

[-- Attachment #1: Type: text/plain, Size: 4783 bytes --]

Hi Shiyang,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.15-rc1 next-20210916]
[cannot apply to xfs-linux/for-next hch-configfs/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Shiyang-Ruan/fsdax-xfs-Add-reflink-dedupe-support-for-fsdax/20210915-184743
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 3ca706c189db861b2ca2019a0901b94050ca49d8
config: hexagon-randconfig-r045-20210916 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project c8b3d7d6d6de37af68b2f379d0e37304f78e115f)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/34b16b56bacb2d3e1e98f9ed47d20b545358bdcd
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Shiyang-Ruan/fsdax-xfs-Add-reflink-dedupe-support-for-fsdax/20210915-184743
        git checkout 34b16b56bacb2d3e1e98f9ed47d20b545358bdcd
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=hexagon 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> fs/dax.c:1483:38: error: incompatible pointer types passing 'const struct iomap_iter *' to parameter of type 'const struct iomap *' [-Werror,-Wincompatible-pointer-types]
                   return dax_pmd_load_hole(xas, vmf, iter, entry);
                                                      ^~~~
   fs/dax.c:1206:23: note: passing argument to parameter 'iomap' here
                   const struct iomap *iomap, void **entry)
                                       ^
   1 error generated.


vim +1483 fs/dax.c

  1451	
  1452	/**
  1453	 * dax_fault_iter - Common actor to handle pfn insertion in PTE/PMD fault.
  1454	 * @vmf:	vm fault instance
  1455	 * @iter:	iomap iter
  1456	 * @pfnp:	pfn to be returned
  1457	 * @xas:	the dax mapping tree of a file
  1458	 * @entry:	an unlocked dax entry to be inserted
  1459	 * @pmd:	distinguish whether it is a pmd fault
  1460	 */
  1461	static vm_fault_t dax_fault_iter(struct vm_fault *vmf,
  1462			const struct iomap_iter *iter, pfn_t *pfnp,
  1463			struct xa_state *xas, void **entry, bool pmd)
  1464	{
  1465		const struct iomap *iomap = &iter->iomap;
  1466		const struct iomap *srcmap = &iter->srcmap;
  1467		size_t size = pmd ? PMD_SIZE : PAGE_SIZE;
  1468		loff_t pos = (loff_t)xas->xa_index << PAGE_SHIFT;
  1469		bool write = iter->flags & IOMAP_WRITE;
  1470		unsigned long entry_flags = pmd ? DAX_PMD : 0;
  1471		int err = 0;
  1472		pfn_t pfn;
  1473		void *kaddr;
  1474	
  1475		if (!pmd && vmf->cow_page)
  1476			return dax_fault_cow_page(vmf, iter);
  1477	
  1478		/* if we are reading UNWRITTEN and HOLE, return a hole. */
  1479		if (!write &&
  1480		    (iomap->type == IOMAP_UNWRITTEN || iomap->type == IOMAP_HOLE)) {
  1481			if (!pmd)
  1482				return dax_load_hole(xas, vmf, iter, entry);
> 1483			return dax_pmd_load_hole(xas, vmf, iter, entry);
  1484		}
  1485	
  1486		if (iomap->type != IOMAP_MAPPED && !(iomap->flags & IOMAP_F_SHARED)) {
  1487			WARN_ON_ONCE(1);
  1488			return pmd ? VM_FAULT_FALLBACK : VM_FAULT_SIGBUS;
  1489		}
  1490	
  1491		err = dax_iomap_direct_access(iomap, pos, size, &kaddr, &pfn);
  1492		if (err)
  1493			return pmd ? VM_FAULT_FALLBACK : dax_fault_return(err);
  1494	
  1495		*entry = dax_insert_entry(xas, vmf, iter, *entry, pfn, entry_flags);
  1496	
  1497		if (write &&
  1498		    srcmap->addr != IOMAP_HOLE && srcmap->addr != iomap->addr) {
  1499			err = dax_iomap_cow_copy(pos, size, size, srcmap, kaddr);
  1500			if (err)
  1501				return dax_fault_return(err);
  1502		}
  1503	
  1504		if (dax_fault_is_synchronous(iter, vmf->vma))
  1505			return dax_fault_synchronous_pfnp(pfnp, pfn);
  1506	
  1507		/* insert PMD pfn */
  1508		if (pmd)
  1509			return vmf_insert_pfn_pmd(vmf, pfn, write);
  1510	
  1511		/* insert PTE pfn */
  1512		if (write)
  1513			return vmf_insert_mixed_mkwrite(vmf->vma, vmf->address, pfn);
  1514		return vmf_insert_mixed(vmf->vma, vmf->address, pfn);
  1515	}
  1516	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 28632 bytes --]

  reply	other threads:[~2021-09-16 14:52 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-15 10:44 [PATCH v9 0/8] fsdax,xfs: Add reflink&dedupe support for fsdax Shiyang Ruan
2021-09-15 10:44 ` [PATCH v9 1/8] fsdax: Output address in dax_iomap_pfn() and rename it Shiyang Ruan
2021-09-16  0:09   ` Darrick J. Wong
2021-09-16  1:36     ` Shiyang Ruan
2021-09-15 10:44 ` [PATCH v9 2/8] fsdax: Introduce dax_iomap_cow_copy() Shiyang Ruan
2021-09-15 10:44 ` [PATCH v9 3/8] fsdax: Replace mmap entry in case of CoW Shiyang Ruan
2021-09-16 14:51   ` kernel test robot [this message]
2021-09-16 14:51     ` kernel test robot
2021-09-15 10:44 ` [PATCH v9 4/8] fsdax: Convert dax_iomap_zero to iter model Shiyang Ruan
2021-09-16  0:11   ` Darrick J. Wong
2021-09-16  6:15   ` Christoph Hellwig
2021-09-15 10:44 ` [PATCH v9 5/8] fsdax: Add dax_iomap_cow_copy() for dax_iomap_zero Shiyang Ruan
2021-09-16  6:16   ` Christoph Hellwig
2021-09-16  8:49     ` Shiyang Ruan
2021-09-16 22:55       ` Darrick J. Wong
2021-09-15 10:44 ` [PATCH v9 6/8] fsdax: Dedup file range to use a compare function Shiyang Ruan
2021-09-16  6:17   ` Christoph Hellwig
2021-09-15 10:45 ` [PATCH v9 7/8] xfs: support CoW in fsdax mode Shiyang Ruan
2021-09-16  0:22   ` Darrick J. Wong
2021-09-16  6:32     ` Christoph Hellwig
2021-09-17 15:33       ` Darrick J. Wong
2021-09-21  8:14         ` Christoph Hellwig
2021-09-16  6:23   ` Christoph Hellwig
2021-09-16  8:51     ` Shiyang Ruan
2021-09-15 10:45 ` [PATCH v9 8/8] xfs: Add dax dedupe support Shiyang Ruan
2021-09-16  0:30   ` Darrick J. Wong
2021-09-16  4:01     ` Shiyang Ruan
2021-09-16  4:18       ` Darrick J. Wong

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=202109162255.bk3U8qpq-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=david@fromorbit.com \
    --cc=djwong@kernel.org \
    --cc=hch@lst.de \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=nvdimm@lists.linux.dev \
    --cc=rgoldwyn@suse.de \
    --cc=ruansy.fnst@fujitsu.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.