[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e33532a2-a9e5-1578-bdd8-a83d4710a151@cn.fujitsu.com>
Date: Fri, 8 Nov 2019 11:10:56 +0800
From: Shiyang Ruan <ruansy.fnst@...fujitsu.com>
To: <linux-xfs@...r.kernel.org>, <linux-nvdimm@...ts.01.org>,
<darrick.wong@...cle.com>, <rgoldwyn@...e.de>, <hch@...radead.org>,
<david@...morbit.com>
CC: <linux-kernel@...r.kernel.org>, <gujx@...fujitsu.com>,
<qi.fuli@...itsu.com>, <caoj.fnst@...fujitsu.com>
Subject: Re: [RFC PATCH v2 0/7] xfs: reflink & dedupe for fsdax (read/write
path).
Hi Darrick, Dave,
Do you have any comment on this?
On 10/30/19 12:13 PM, Shiyang Ruan wrote:
> This patchset aims to take care of this issue to make reflink and dedupe
> work correctly (actually in read/write path, there still has some problems,
> such as the page->mapping and page->index issue, in mmap path) in XFS under
> fsdax mode.
>
> It is based on Goldwyn's patchsets: "v4 Btrfs dax support" and the latest
> iomap. I borrowed some patches related and made a few fix to make it
> basically works fine.
>
> For dax framework:
> 1. adapt to the latest change in iomap (two iomaps).
>
> For XFS:
> 1. distinguish dax write/zero from normal write/zero.
> 2. remap extents after COW.
> 3. add file contents comparison function based on dax framework.
> 4. use xfs_break_layouts() instead of break_layout to support dax.
>
>
> Goldwyn Rodrigues (3):
> dax: replace mmap entry in case of CoW
> fs: dedup file range to use a compare function
> dax: memcpy before zeroing range
>
> Shiyang Ruan (4):
> dax: Introduce dax_copy_edges() for COW.
> dax: copy data before write.
> xfs: handle copy-on-write in fsdax write() path.
> xfs: support dedupe for fsdax.
>
> fs/btrfs/ioctl.c | 3 +-
> fs/dax.c | 211 +++++++++++++++++++++++++++++++++++++----
> fs/iomap/buffered-io.c | 8 +-
> fs/ocfs2/file.c | 2 +-
> fs/read_write.c | 11 ++-
> fs/xfs/xfs_bmap_util.c | 6 +-
> fs/xfs/xfs_file.c | 10 +-
> fs/xfs/xfs_iomap.c | 3 +-
> fs/xfs/xfs_iops.c | 11 ++-
> fs/xfs/xfs_reflink.c | 79 ++++++++-------
> include/linux/dax.h | 16 ++--
> include/linux/fs.h | 9 +-
> 12 files changed, 291 insertions(+), 78 deletions(-)
>
--
Thanks,
Shiyang Ruan.
Powered by blists - more mailing lists