android_kernel_xiaomi_sm8350/fs/jfs
OGAWA Hirofumi 28fd129827 [PATCH] Fix and add EXPORT_SYMBOL(filemap_write_and_wait)
This patch add EXPORT_SYMBOL(filemap_write_and_wait) and use it.

See mm/filemap.c:

And changes the filemap_write_and_wait() and filemap_write_and_wait_range().

Current filemap_write_and_wait() doesn't wait if filemap_fdatawrite()
returns error.  However, even if filemap_fdatawrite() returned an
error, it may have submitted the partially data pages to the device.
(e.g. in the case of -ENOSPC)

<quotation>
Andrew Morton writes,

If filemap_fdatawrite() returns an error, this might be due to some
I/O problem: dead disk, unplugged cable, etc.  Given the generally
crappy quality of the kernel's handling of such exceptions, there's a
good chance that the filemap_fdatawait() will get stuck in D state
forever.
</quotation>

So, this patch doesn't wait if filemap_fdatawrite() returns the -EIO.

Trond, could you please review the nfs part?  Especially I'm not sure,
nfs must use the "filemap_fdatawrite(inode->i_mapping) == 0", or not.

Acked-by: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-08 20:13:47 -08:00
..
acl.c JFS: allow extended attributes to be set within a existing transaction 2005-09-01 09:02:43 -05:00
endian24.h
file.c
inode.c JFS: Fix sparse warnings, including endian error 2005-09-15 23:25:41 -05:00
jfs_acl.h JFS: allow extended attributes to be set within a existing transaction 2005-09-01 09:02:43 -05:00
jfs_btree.h
jfs_debug.c
jfs_debug.h
jfs_dinode.h
jfs_dmap.c [PATCH] Fix and add EXPORT_SYMBOL(filemap_write_and_wait) 2006-01-08 20:13:47 -08:00
jfs_dmap.h
jfs_dtree.c
jfs_dtree.h
jfs_extent.c
jfs_extent.h
jfs_filsys.h [PATCH] disk quotas fail when /etc/mtab is symlinked to /proc/mounts 2005-09-07 16:57:23 -07:00
jfs_imap.c [PATCH] Fix and add EXPORT_SYMBOL(filemap_write_and_wait) 2006-01-08 20:13:47 -08:00
jfs_imap.h
jfs_incore.h
jfs_inode.c
jfs_inode.h
jfs_lock.h
jfs_logmgr.c
jfs_logmgr.h
jfs_metapage.c [PATCH] mm: split page table lock 2005-10-29 21:40:42 -07:00
jfs_metapage.h
jfs_mount.c
jfs_superblock.h
jfs_txnmgr.c [PATCH] Fix and add EXPORT_SYMBOL(filemap_write_and_wait) 2006-01-08 20:13:47 -08:00
jfs_txnmgr.h JFS: don't dereference tlck->ip from txUpdateMap 2005-09-20 14:58:11 -05:00
jfs_types.h
jfs_umount.c [PATCH] Fix and add EXPORT_SYMBOL(filemap_write_and_wait) 2006-01-08 20:13:47 -08:00
jfs_unicode.c
jfs_unicode.h
jfs_uniupr.c
jfs_xattr.h JFS: Implement jfs_init_security 2005-09-01 09:05:39 -05:00
jfs_xtree.c JFS: make sure right-most xtree pages have header.next set to zero 2005-10-28 13:27:40 -05:00
jfs_xtree.h
Makefile
namei.c JFS: set i_ctime & i_mtime on target directory when creating links 2005-10-31 16:53:04 -06:00
resize.c [PATCH] Fix and add EXPORT_SYMBOL(filemap_write_and_wait) 2006-01-08 20:13:47 -08:00
super.c [PATCH] Fix and add EXPORT_SYMBOL(filemap_write_and_wait) 2006-01-08 20:13:47 -08:00
symlink.c [PATCH] Fix up symlink function pointers 2005-08-19 18:08:21 -07:00
xattr.c JFS: Implement jfs_init_security 2005-09-01 09:05:39 -05:00