]> git.baikalelectronics.ru Git - kernel.git/commit
mm, dax: fix DAX deadlocks
authorRoss Zwisler <ross.zwisler@linux.intel.com>
Thu, 15 Oct 2015 22:28:32 +0000 (15:28 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 16 Oct 2015 18:42:28 +0000 (11:42 -0700)
commitdc234b92ac2f27ff5a8e631552e190fb622af8f7
tree1e9c2d12331cdc92576d46cd1f6d681323c4080b
parenta9f0853d3e32222cd5754d9994421690e9aced8d
mm, dax: fix DAX deadlocks

The following two locking commits in the DAX code:

commit 7ffc68882e80 ("dax: fix race between simultaneous faults")
commit 6e42666a8e39 ("mm: take i_mmap_lock in unmap_mapping_range() for DAX")

introduced a number of deadlocks and other issues which need to be fixed
for the v4.3 kernel.  The list of issues in DAX after these commits
(some newly introduced by the commits, some preexisting) can be found
here:

  https://lkml.org/lkml/2015/9/25/602 (Subject: "Re: [PATCH] dax: fix deadlock in __dax_fault").

This undoes most of the changes introduced by those two commits,
essentially returning us to the DAX locking scheme that was used in
v4.2.

Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Dan Williams <dan.j.williams@intel.com>
Tested-by: Dave Chinner <dchinner@redhat.com>
Cc: Jan Kara <jack@suse.com>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Matthew Wilcox <matthew.r.wilcox@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/dax.c
mm/memory.c