The patch titled reiser4: fix for new aops patches has been removed from the -mm tree. Its filename was reiser4-fix-for-new-aops-patches.patch This patch was dropped because it was folded into reiser4.patch ------------------------------------------------------ Subject: reiser4: fix for new aops patches From: Nick Piggin <npiggin@xxxxxxx> Cc: Vladimir Saveliev <vs@xxxxxxxxxxx> Cc: Edward Shishkin <edward@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/reiser4/plugin/item/extent_file_ops.c | 26 ++++++++++++++++++++- 1 files changed, 25 insertions(+), 1 deletion(-) diff -puN fs/reiser4/plugin/item/extent_file_ops.c~reiser4-fix-for-new-aops-patches fs/reiser4/plugin/item/extent_file_ops.c --- a/fs/reiser4/plugin/item/extent_file_ops.c~reiser4-fix-for-new-aops-patches +++ a/fs/reiser4/plugin/item/extent_file_ops.c @@ -7,7 +7,6 @@ #include <linux/quotaops.h> #include <linux/swap.h> -#include "../../../../mm/filemap.h" static inline reiser4_extent *ext_by_offset(const znode *node, int offset) { @@ -937,6 +936,31 @@ static int write_extent_reserve_space(st return reiser4_grab_space(count, 0 /* flags */); } +/* + * filemap_copy_from_user no longer exists in generic code, because it + * is deadlocky (copying from user while holding the page lock is bad). + * As a temporary fix for reiser4, just define it here. + */ +static inline size_t +filemap_copy_from_user(struct page *page, unsigned long offset, + const char __user *buf, unsigned bytes) +{ + char *kaddr; + int left; + + kaddr = kmap_atomic(page, KM_USER0); + left = __copy_from_user_inatomic_nocache(kaddr + offset, buf, bytes); + kunmap_atomic(kaddr, KM_USER0); + + if (left != 0) { + /* Do it the slow way */ + kaddr = kmap(page); + left = __copy_from_user_nocache(kaddr + offset, buf, bytes); + kunmap(page); + } + return bytes - left; +} + /** * reiser4_write_extent - write method of extent item plugin * @file: file to write to _ Patches currently in -mm which might be from npiggin@xxxxxxx are origin.patch fs-introduce-write_begin-write_end-and-perform_write-aops-revoke.patch fs-introduce-write_begin-write_end-and-perform_write-aops-revoke-fix.patch reiser4.patch reiser4-fix-for-new-aops-patches.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html