]> 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)
commit37113c4d1e661ee591b68d9811c05e2d05b14e9d
tree1e9c2d12331cdc92576d46cd1f6d681323c4080b
parentf7418daeebde6dea49e82061f67f00bf6fa3f551
mm, dax: fix DAX deadlocks

The following two locking commits in the DAX code:

commit f6ede9b340e4 ("dax: fix race between simultaneous faults")
commit 233b467c6061 ("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