Re: [PATCH v9 5/8] fsdax: Add dax_iomap_cow_copy() for dax_iomap_zero

2021-09-16 Thread Darrick J. Wong
On Thu, Sep 16, 2021 at 04:49:19PM +0800, Shiyang Ruan wrote: > > > On 2021/9/16 14:16, Christoph Hellwig wrote: > > On Wed, Sep 15, 2021 at 06:44:58PM +0800, Shiyang Ruan wrote: > > > + rc = dax_direct_access(iomap->dax_dev, pgoff, 1, , NULL); > > > + if (rc < 0) > > > + goto out; > > >

Re: [PATCH v9 5/8] fsdax: Add dax_iomap_cow_copy() for dax_iomap_zero

2021-09-16 Thread Shiyang Ruan
On 2021/9/16 14:16, Christoph Hellwig wrote: On Wed, Sep 15, 2021 at 06:44:58PM +0800, Shiyang Ruan wrote: + rc = dax_direct_access(iomap->dax_dev, pgoff, 1, , NULL); + if (rc < 0) + goto out; + memset(kaddr + offset, 0, size); + if (srcmap->addr !=

Re: [PATCH v9 5/8] fsdax: Add dax_iomap_cow_copy() for dax_iomap_zero

2021-09-16 Thread Christoph Hellwig
On Wed, Sep 15, 2021 at 06:44:58PM +0800, Shiyang Ruan wrote: > + rc = dax_direct_access(iomap->dax_dev, pgoff, 1, , NULL); > + if (rc < 0) > + goto out; > + memset(kaddr + offset, 0, size); > + if (srcmap->addr != IOMAP_HOLE && srcmap->addr != iomap->addr) { Should we

[PATCH v9 5/8] fsdax: Add dax_iomap_cow_copy() for dax_iomap_zero

2021-09-15 Thread Shiyang Ruan
Punch hole on a reflinked file needs dax_iomap_cow_copy() too. Otherwise, data in not aligned area will be not correct. So, add the CoW operation for not aligned case in dax_iomap_zero(). Signed-off-by: Shiyang Ruan Reviewed-by: Ritesh Harjani Reviewed-by: Darrick J. Wong --- fs/dax.c | 27