From: Andrew Morton Fix reiser4 for the temporary droppage of revert-generic_file_buffered_write-handle-zero-length-iovec-segments.patch revert-generic_file_buffered_write-deadlock-on-vectored-write.patch generic_file_buffered_write-cleanup.patch mm-only-mm-debug-write-deadlocks.patch mm-fix-pagecache-write-deadlocks.patch mm-fix-pagecache-write-deadlocks-comment.patch mm-fix-pagecache-write-deadlocks-xip.patch mm-fix-pagecache-write-deadlocks-mm-pagecache-write-deadlocks-efault-fix.patch fs-prepare_write-fixes.patch fs-prepare_write-fixes-fuse-fix.patch fs-prepare_write-fixes-jffs-fix.patch fs-prepare_write-fixes-fat-fix.patch Hopefully this works... Cc: Vladimir Saveliev Cc: Edward Shishkin Signed-off-by: Andrew Morton --- fs/reiser4/plugin/item/extent_file_ops.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff -puN fs/reiser4/plugin/item/extent_file_ops.c~reiser4-temp-fix fs/reiser4/plugin/item/extent_file_ops.c --- a/fs/reiser4/plugin/item/extent_file_ops.c~reiser4-temp-fix +++ a/fs/reiser4/plugin/item/extent_file_ops.c @@ -1051,23 +1051,7 @@ ssize_t reiser4_write_extent(struct file kunmap_atomic(kaddr, KM_USER0); } - written = filemap_copy_from_user_atomic(page, page_off, - buf, to_page); - if (written != to_page) { - /* Do it the slow way */ - written = filemap_copy_from_user_nonatomic(page, - page_off, - buf, - to_page); - if (written != to_page) { - unlock_page(page); - page_cache_release(page); - nr_pages = i; - jput(jnodes[i]); - result = RETERR(-EFAULT); - break; - } - } + written = filemap_copy_from_user(page, page_off, buf, to_page); flush_dcache_page(page); reiser4_set_page_dirty_internal(page); unlock_page(page); _