From: Linus Torvalds Date: Fri, 27 May 2016 03:00:28 +0000 (-0700) Subject: Merge tag 'dax-locking-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git... X-Git-Tag: v4.7-rc1~37 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=478a1469a7d27fe6b2f85fc801ecdeb8afc836e6;p=platform%2Fkernel%2Flinux-exynos.git Merge tag 'dax-locking-for-4.7' of git://git./linux/kernel/git/nvdimm/nvdimm Pull DAX locking updates from Ross Zwisler: "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" * tag 'dax-locking-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: dax: Remove i_mmap_lock protection dax: Use radix tree entry lock to protect cow faults dax: New fault locking dax: Allow DAX code to replace exceptional entries dax: Define DAX lock bit for radix tree exceptional entry dax: Make huge page handling depend of CONFIG_BROKEN dax: Fix condition for filling of PMD holes --- 478a1469a7d27fe6b2f85fc801ecdeb8afc836e6 diff --cc include/linux/dax.h index 7743e51,7bf1227..43d5f0b --- a/include/linux/dax.h +++ b/include/linux/dax.h @@@ -3,9 -3,13 +3,13 @@@ #include #include + #include #include + /* We use lowest available exceptional entry bit for locking */ + #define RADIX_DAX_ENTRY_LOCK (1 << RADIX_TREE_EXCEPTIONAL_SHIFT) + -ssize_t dax_do_io(struct kiocb *, struct inode *, struct iov_iter *, loff_t, +ssize_t dax_do_io(struct kiocb *, struct inode *, struct iov_iter *, get_block_t, dio_iodone_t, int flags); int dax_zero_page_range(struct inode *, loff_t from, unsigned len, get_block_t); int dax_truncate_page(struct inode *, loff_t from, get_block_t);