Re: [GIT PULL] dax-locking for 4.7

Vishal Verma
2016-05-26T19:00:57Z

On Tue, May 24, 2016 at 02:52:19PM -0600, Ross Zwisler wrote:
> Hi Linus, please pull from
>
> git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/dax-locking-for-4.7
>
> ... to receive filesystem DAX locking changes for v4.7.
>
> These current version of these changes have been under review and test for a
> few weeks, and have appeared in the two most recent linux-next releases
> (next-20160520 and next-20160524). I've reviewed all of the DAX changes in
> these patches, and Neil Brown has reviewed the patch that introduced the actual
> locking and wait queues.
>
> This pull request is dependent on Vishal Verma's "dax-misc for 4.7" pull
> request.
>
> The following changes since commit 40543f62cbdce42633e3fe10923099feee272e1f:
>
> dax: fix a comment in dax_zero_page_range and dax_truncate_page (2016-05-18 12:16:58 -0600)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/dax-locking-for-4.7
>
> for you to fetch changes up to 4d9a2c8746671efbb0c27d3ae28c7474597a7aad:
>
> dax: Remove i_mmap_lock protection (2016-05-19 15:28:40 -0600)
>
> ----------------------------------------------------------------
> Filesystem DAX locking for 4.7
>
> - We use a bit in an exceptional radix tree entry as a lock bit and use it
> similarly to how page lock is used for normal faults. This fixes races
> between hole instantiation and read faults of the same index.
>
> - Filesystem DAX PMD faults are disabled, and will be re-enabled when PMD
> locking is implemented.
>
> ----------------------------------------------------------------

Hi Linus,

Both this pull request, and mine ([GIT PULL] dax-misc for 4.7) have
minor merge conflicts with your tree. These were caught by linux-next
too (in addition to the one I mentioned in my pull request), but I
neglected to mention this one [1].

[1] https://lkml.org/lkml/2016/5/19/707

I've updated the branch at:

git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-for-4.7-merge

with the expected resolution of merging both dax-misc-for-4.7 and
dax-locking-for-4.7

Let me know if you run into something odd, and apologies for not giving
an earlier heads up about the conflict.

-Vishal

> Jan Kara (7):
> dax: Fix condition for filling of PMD holes
> dax: Make huge page handling depend of CONFIG_BROKEN
> dax: Define DAX lock bit for radix tree exceptional entry
> dax: Allow DAX code to replace exceptional entries
> dax: New fault locking
> dax: Use radix tree entry lock to protect cow faults
> dax: Remove i_mmap_lock protection
>
> fs/Kconfig | 1 +
> fs/dax.c | 592 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------
> include/linux/dax.h | 16 ++-
> include/linux/mm.h | 7 ++
> mm/filemap.c | 30 +++--
> mm/memory.c | 40 +++----
> mm/truncate.c | 62 +++++-----
> 7 files changed, 513 insertions(+), 235 deletions(-)
>
> _______________________________________________
> Linux-nvdimm mailing list
> Linux-nvdimm@lists.01.org
> https://lists.01.org/mailman/listinfo/linux-nvdimm