OpenCloudOS-Kernel/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
..
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
acl.c JFS: allow extended attributes to be set within a existing transaction 2005-09-01 09:02:43 -05:00
endian24.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
file.c JFS: fix sparse warnings by moving extern declarations to headers 2005-05-04 15:29:35 -05:00
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 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jfs_debug.c JFS: fix sparse warnings by moving extern declarations to headers 2005-05-04 15:29:35 -05:00
jfs_debug.h JFS: fix sparse warnings by moving extern declarations to headers 2005-05-04 15:29:35 -05:00
jfs_dinode.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jfs_dmap.c [PATCH] Fix and add EXPORT_SYMBOL(filemap_write_and_wait) 2006-01-08 20:13:47 -08:00
jfs_dmap.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jfs_dtree.c JFS: Fix i_blocks accounting when allocation fails 2005-07-26 09:29:13 -05:00
jfs_dtree.h JFS: Code cleanup - getting rid of never-used debug code 2005-06-27 15:35:37 -05:00
jfs_extent.c JFS: fix sparse warnings by moving extern declarations to headers 2005-05-04 15:29:35 -05:00
jfs_extent.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
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 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jfs_incore.h [PATCH] JFS: Support page sizes greater than 4K 2005-05-02 22:23:53 -07:00
jfs_inode.c JFS: fix sparse warnings by moving extern declarations to headers 2005-05-04 15:29:35 -05:00
jfs_inode.h JFS: fix sparse warnings by moving extern declarations to headers 2005-05-04 15:29:35 -05:00
jfs_lock.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jfs_logmgr.c JFS: Improve sync barrier processing 2005-07-27 09:17:57 -05:00
jfs_logmgr.h JFS: Improve sync barrier processing 2005-07-27 09:17:57 -05:00
jfs_metapage.c [PATCH] mm: split page table lock 2005-10-29 21:40:42 -07:00
jfs_metapage.h JFS: fix sparse warnings by moving extern declarations to headers 2005-05-04 15:29:35 -05:00
jfs_mount.c [PATCH] JFS: Support page sizes greater than 4K 2005-05-02 22:23:53 -07:00
jfs_superblock.h JFS: fix sparse warnings by moving extern declarations to headers 2005-05-04 15:29:35 -05:00
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 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
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: performance patch 2005-06-23 16:57:56 -05:00
jfs_unicode.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jfs_uniupr.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
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 JFS: Code cleanup - getting rid of never-used debug code 2005-06-27 15:35:37 -05:00
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