Re: [PATCH 6/6] dax: Avoid page invalidation races and unnecessary radix tree traversals

2016-10-03 Thread Dave Chinner
On Mon, Oct 03, 2016 at 04:58:02PM +0200, Jan Kara wrote: > On Wed 28-09-16 10:20:34, Dave Chinner wrote: > > On Tue, Sep 27, 2016 at 06:43:35PM +0200, Jan Kara wrote: > > > @@ -1410,6 +1422,17 @@ iomap_dax_actor(struct inode *inode, loff_t pos, > > > loff_t length, void *data, > > > if

Re: [PATCH 6/6] dax: Avoid page invalidation races and unnecessary radix tree traversals

2016-10-03 Thread Jan Kara
On Fri 30-09-16 01:55:44, Christoph Hellwig wrote: > On Tue, Sep 27, 2016 at 06:43:35PM +0200, Jan Kara wrote: > > Currently each filesystem (possibly through generic_file_direct_write() > > or iomap_dax_rw()) takes care of invalidating page tables and evicting > > hole pages from the radix tree

Re: [PATCH 6/6] dax: Avoid page invalidation races and unnecessary radix tree traversals

2016-10-03 Thread Jan Kara
On Wed 28-09-16 10:20:34, Dave Chinner wrote: > On Tue, Sep 27, 2016 at 06:43:35PM +0200, Jan Kara wrote: > > @@ -1410,6 +1422,17 @@ iomap_dax_actor(struct inode *inode, loff_t pos, > > loff_t length, void *data, > > if (WARN_ON_ONCE(iomap->type != IOMAP_MAPPED)) > > return -EIO;

[PATCH 6/6] dax: Avoid page invalidation races and unnecessary radix tree traversals

2016-09-27 Thread Jan Kara
Currently each filesystem (possibly through generic_file_direct_write() or iomap_dax_rw()) takes care of invalidating page tables and evicting hole pages from the radix tree when write(2) to the file happens. This invalidation is only necessary when there is some block allocation resulting from