mm, dax: fix DAX deadlocks (COW fault)
mm, dax: fix DAX deadlocks (COW fault)

DAX handling of COW faults has wrong locking sequence:
	dax_fault does i_mmap_lock_read
	do_cow_fault does i_mmap_unlock_write

Ross's commit[1] missed a fix[2] that Kirill added to Matthew's
commit[3].

Original COW locking logic was introduced by Matthew here[4].

This should be applied to v4.3 as well.

[1] 0f90cc6609c7 mm, dax: fix DAX deadlocks
[2] 52a2b53ffde6 mm, dax: use i_mmap_unlock_write() in do_cow_fault()
[3] 843172978bb9 dax: fix race between simultaneous faults
[4] 2e4cdab0584f mm: allow page fault handlers to perform the COW

Cc: <4fbacc2fa0ffdbb11bf1ad6925b886ebd08dd15f@vger.kernel.org>
Cc: Boaz Harrosh <cd1bf023fcd58013278712a9cd3e7f21f10ff214@plexistor.com>
Cc: Alexander Viro <de609eb4d5d70b1d38ec6642adbfc33a2781f63c@zeniv.linux.org.uk>
Cc: Dave Chinner <4d9e23a041ac966f5316a7481300d4ae12e806fe@redhat.com>
Cc: Jan Kara <596727c8a0ea4db3ba2ceceedccbacd3d7b371b8@suse.com>
Cc: "Kirill A. Shutemov" <eec72676ad9a62f2727dfed6d270d98c0d02adec@linux.intel.com>
Cc: Matthew Wilcox <ed1245e46949b7b8f2bca25d41520ebc8aeefcf8@intel.com>
Acked-by: Ross Zwisler <19f56ffe3ac18f81d12a74c011e044bc6df12299@linux.intel.com>
Signed-off-by: Yigal Korman <91916fa60e522a34dda073d03223aa40ad17944d@plexistor.com>
Signed-off-by: Dan Williams <24ee2bf0bd8ac766c348bf1f0639943bac1535c6@intel.com>

KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs