Re: [PATCH 5/6] dax: Call ->iomap_begin without entry lock during dax fault

2016-12-02 Thread Jan Kara
On Thu 01-12-16 16:27:04, Ross Zwisler wrote: > On Thu, Dec 01, 2016 at 03:24:47PM -0700, Ross Zwisler wrote: > > On Thu, Nov 24, 2016 at 10:46:35AM +0100, Jan Kara wrote: > > > Currently ->iomap_begin() handler is called with entry lock held. If the > > > filesystem held any locks between ->iomap_

Re: [PATCH 5/6] dax: Call ->iomap_begin without entry lock during dax fault

2016-12-02 Thread Jan Kara
On Thu 01-12-16 15:24:47, Ross Zwisler wrote: > On Thu, Nov 24, 2016 at 10:46:35AM +0100, Jan Kara wrote: > > Currently ->iomap_begin() handler is called with entry lock held. If the > > filesystem held any locks between ->iomap_begin() and ->iomap_end() > > (such as ext4 which will want to hold tr

Re: [PATCH 5/6] dax: Call ->iomap_begin without entry lock during dax fault

2016-12-01 Thread Ross Zwisler
On Thu, Dec 01, 2016 at 03:24:47PM -0700, Ross Zwisler wrote: > On Thu, Nov 24, 2016 at 10:46:35AM +0100, Jan Kara wrote: > > Currently ->iomap_begin() handler is called with entry lock held. If the > > filesystem held any locks between ->iomap_begin() and ->iomap_end() > > (such as ext4 which will

Re: [PATCH 5/6] dax: Call ->iomap_begin without entry lock during dax fault

2016-12-01 Thread Ross Zwisler
On Thu, Nov 24, 2016 at 10:46:35AM +0100, Jan Kara wrote: > Currently ->iomap_begin() handler is called with entry lock held. If the > filesystem held any locks between ->iomap_begin() and ->iomap_end() > (such as ext4 which will want to hold transaction open), this would cause > lock inversion wit

[PATCH 5/6] dax: Call ->iomap_begin without entry lock during dax fault

2016-11-24 Thread Jan Kara
Currently ->iomap_begin() handler is called with entry lock held. If the filesystem held any locks between ->iomap_begin() and ->iomap_end() (such as ext4 which will want to hold transaction open), this would cause lock inversion with the iomap_apply() from standard IO path which first calls ->ioma