kernel_optimize_test/fs/xfs
Lachlan McIlroy e893bffd4c [XFS] avoid race in sync_inodes() that can fail to write out all dirty data
In xfs_fs_sync_super() treat a sync the same as a filesystem freeze. This
is needed to force the log to disk for inodes which are not marked dirty
in the Linux inode (the inodes are marked dirty on completion of the log
I/O) and so sync_inodes() will not flush them.

In xfs_fs_write_inode() a synchronous flush will not get an EAGAIN from
xfs_inode_flush() and if an asynchronous flush returns EAGAIN we should
pass it on to the caller. If we get an error while flushing the inode then
re-dirty it so we can try again later.

SGI-PV: 971670
SGI-Modid: xfs-linux-melb:xfs-kern:29860a

Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Tim Shimmin <tes@sgi.com>
2007-10-16 14:22:28 +10:00
..
linux-2.6 [XFS] avoid race in sync_inodes() that can fail to write out all dirty data 2007-10-16 14:22:28 +10:00
quota [XFS] kill the vfs_flags member in struct bhv_vfs 2007-10-16 11:45:57 +10:00
support [XFS] kill move.[ch] 2007-10-15 16:50:26 +10:00
Kbuild
Kconfig [PATCH] BLOCK: Make it possible to disable the block layer [try #6] 2006-09-30 20:52:31 +02:00
Makefile
Makefile-linux-2.6 [XFS] kill struct bhv_vfs 2007-10-16 12:17:27 +10:00
xfs_acl.c [XFS] simplify xfs_create/mknod/symlink prototype 2007-10-16 14:15:32 +10:00
xfs_acl.h [XFS] simplify xfs_create/mknod/symlink prototype 2007-10-16 14:15:32 +10:00
xfs_ag.h [XFS] Radix tree based inode caching 2007-10-15 16:50:50 +10:00
xfs_alloc_btree.c [XFS] Lazy Superblock Counters 2007-07-14 15:28:50 +10:00
xfs_alloc_btree.h [XFS] Remove unused arguments from the XFS_BTREE_*_ADDR macros. 2007-02-10 18:37:33 +11:00
xfs_alloc.c [XFS] Clean up function name handling in tracing code 2007-07-14 15:41:24 +10:00
xfs_alloc.h [XFS] Lazy Superblock Counters 2007-07-14 15:28:50 +10:00
xfs_arch.h
xfs_attr_leaf.c [XFS] The last argument "lsn" of xfs_trans_commit() is always called with 2007-05-08 13:48:42 +10:00
xfs_attr_leaf.h [XFS] Add EA list callbacks for xfs kernel use. Cleanup some namespace 2006-09-28 11:01:37 +10:00
xfs_attr_sf.h
xfs_attr.c [XFS] call common xfs vnode-level helpers directly and remove vnode operations 2007-10-16 10:40:00 +10:00
xfs_attr.h [XFS] kill struct bhv_vnode 2007-10-16 11:40:24 +10:00
xfs_bit.c [XFS] Kill off xfs_count_bits 2007-07-14 15:36:43 +10:00
xfs_bit.h [XFS] Kill off xfs_count_bits 2007-07-14 15:36:43 +10:00
xfs_bmap_btree.c [XFS] Fix build regression from mod/commit which did cleanup of xfs_bmbt_*set_allf 2007-10-15 16:47:32 +10:00
xfs_bmap_btree.h [XFS] endianess annotations for xfs_bmbt_rec_t 2007-10-15 16:26:44 +10:00
xfs_bmap.c [XFS] call common xfs vnode-level helpers directly and remove vnode operations 2007-10-16 10:40:00 +10:00
xfs_bmap.h [XFS] decontaminate vnode operations from behavior details 2007-10-15 16:54:29 +10:00
xfs_btree.c [XFS] endianess annotations for xfs_bmbt_key Trivial as there are no 2006-09-28 10:58:17 +10:00
xfs_btree.h [XFS] Simplify XFS min/max macros. 2007-07-14 15:36:53 +10:00
xfs_buf_item.c [XFS] Radix tree based inode caching 2007-10-15 16:50:50 +10:00
xfs_buf_item.h Revert "[XFS] Avoid replaying inode buffer initialisation log items if on-disk version is newer." 2007-10-01 16:39:37 +10:00
xfs_clnt.h [XFS] Radix tree based inode caching 2007-10-15 16:50:50 +10:00
xfs_da_btree.c [XFS] fix sparse shadowed variable warnings 2007-09-05 14:50:26 +10:00
xfs_da_btree.h [XFS] Remove a bunch of unused functions from XFS. 2007-02-10 18:37:40 +11:00
xfs_dfrag.c [XFS] call common xfs vnode-level helpers directly and remove vnode operations 2007-10-16 10:40:00 +10:00
xfs_dfrag.h [XFS] Add parameters to xfs_bmapi() and xfs_bunmapi() to have them report 2006-06-09 14:48:12 +10:00
xfs_dinode.h [XFS] dinode endianess annotations 2007-10-15 16:48:30 +10:00
xfs_dir2_block.c [XFS] Radix tree based inode caching 2007-10-15 16:50:50 +10:00
xfs_dir2_block.h [XFS] use filldir internally 2007-10-15 16:49:49 +10:00
xfs_dir2_data.c [XFS] Radix tree based inode caching 2007-10-15 16:50:50 +10:00
xfs_dir2_data.h [XFS] Reduce shouting by removing unnecessary macros from dir2 code. 2007-07-14 15:37:02 +10:00
xfs_dir2_leaf.c [XFS] use filldir internally 2007-10-15 16:49:49 +10:00
xfs_dir2_leaf.h [XFS] use filldir internally 2007-10-15 16:49:49 +10:00
xfs_dir2_node.c [XFS] Radix tree based inode caching 2007-10-15 16:50:50 +10:00
xfs_dir2_node.h [XFS] Reduce shouting by removing unnecessary macros from dir2 code. 2007-07-14 15:37:02 +10:00
xfs_dir2_sf.c [XFS] Radix tree based inode caching 2007-10-15 16:50:50 +10:00
xfs_dir2_sf.h [XFS] use filldir internally 2007-10-15 16:49:49 +10:00
xfs_dir2_trace.c [XFS] Remove version 1 directory code. Never functioned on Linux, just 2006-06-20 13:04:51 +10:00
xfs_dir2_trace.h
xfs_dir2.c [XFS] move v_trace from bhv_vnode to xfs_inode 2007-10-16 11:39:25 +10:00
xfs_dir2.h [XFS] decontaminate vnode operations from behavior details 2007-10-15 16:54:29 +10:00
xfs_dmapi.h [XFS] kill the vfs_flags member in struct bhv_vfs 2007-10-16 11:45:57 +10:00
xfs_dmops.c [XFS] remove dependency of the dmapi module on behaviors 2007-10-16 11:41:15 +10:00
xfs_error.c [XFS] kill the vfs_fsid and vfs_altfsid members in struct bhv_vfs 2007-10-16 11:45:02 +10:00
xfs_error.h [XFS] kill the vfs_fsid and vfs_altfsid members in struct bhv_vfs 2007-10-16 11:45:02 +10:00
xfs_extfree_item.c [XFS] Radix tree based inode caching 2007-10-15 16:50:50 +10:00
xfs_extfree_item.h [XFS] cleanup the field types of some item format structures 2006-09-28 10:55:43 +10:00
xfs_filestream.c [XFS] fix filestreams on 32-bit boxes 2007-09-20 19:40:19 +10:00
xfs_filestream.h [XFS] Concurrent Multi-File Data Streams 2007-07-14 15:40:53 +10:00
xfs_fs.h [XFS] Concurrent Multi-File Data Streams 2007-07-14 15:40:53 +10:00
xfs_fsops.c [XFS] growlock should be a mutex 2007-10-16 12:18:09 +10:00
xfs_fsops.h
xfs_ialloc_btree.c [XFS] use NULL for pointer initialisation instead of zero-cast-to-ptr 2006-09-28 10:58:40 +10:00
xfs_ialloc_btree.h [XFS] Remove unused arguments from the XFS_BTREE_*_ADDR macros. 2007-02-10 18:37:33 +11:00
xfs_ialloc.c [XFS] dinode endianess annotations 2007-10-15 16:48:30 +10:00
xfs_ialloc.h [XFS] Pick a single default inode cluster size. 2007-10-15 16:39:35 +10:00
xfs_iget.c [XFS] kill struct bhv_vfs 2007-10-16 12:17:27 +10:00
xfs_imap.h
xfs_inode_item.c [XFS] Keep stack usage down for 4k stacks by using noinline. 2007-02-10 18:34:56 +11:00
xfs_inode_item.h [XFS] cleanup the field types of some item format structures 2006-09-28 10:55:43 +10:00
xfs_inode.c [XFS] get_bulkall() could return incorrect inode state 2007-10-16 12:21:15 +10:00
xfs_inode.h [XFS] kill the vfs_flags member in struct bhv_vfs 2007-10-16 11:45:57 +10:00
xfs_inum.h
xfs_iocore.c [XFS] kill struct bhv_vfs 2007-10-16 12:17:27 +10:00
xfs_iomap.c [XFS] Kill unused IOMAP_EOF flag 2007-10-16 12:20:54 +10:00
xfs_iomap.h [XFS] Kill unused IOMAP_EOF flag 2007-10-16 12:20:54 +10:00
xfs_itable.c [XFS] This fix prevents bulkstat from spinning in an infinite loop. 2007-10-16 14:21:56 +10:00
xfs_itable.h [XFS] Fix XFS_IOC_FSBULKSTAT{,_SINGLE} & XFS_IOC_FSINUMBERS in compat mode 2007-07-14 15:42:50 +10:00
xfs_log_priv.h [XFS] replace some large xfs_log_priv.h macros by proper functions 2007-10-16 12:17:56 +10:00
xfs_log_recover.c [XFS] superblock endianess annotations 2007-10-15 16:49:09 +10:00
xfs_log_recover.h
xfs_log.c [XFS] replace some large xfs_log_priv.h macros by proper functions 2007-10-16 12:17:56 +10:00
xfs_log.h [XFS] Remove several macros that are no longer used anywhere 2006-09-28 11:02:57 +10:00
xfs_mount.c [XFS] growlock should be a mutex 2007-10-16 12:18:09 +10:00
xfs_mount.h [XFS] growlock should be a mutex 2007-10-16 12:18:09 +10:00
xfs_mru_cache.c [XFS] On-demand reaping of the MRU cache 2007-09-17 16:42:02 +10:00
xfs_mru_cache.h [XFS] On-demand reaping of the MRU cache 2007-09-17 16:42:02 +10:00
xfs_qmops.c [XFS] kill the vfs_flags member in struct bhv_vfs 2007-10-16 11:45:57 +10:00
xfs_quota.h [XFS] remove dependency of the quota module on behaviors 2007-10-16 11:43:26 +10:00
xfs_refcache.h
xfs_rename.c [XFS] move v_trace from bhv_vnode to xfs_inode 2007-10-16 11:39:25 +10:00
xfs_rtalloc.c [XFS] Don't grow filesystems past the size they can index. 2007-07-14 15:21:29 +10:00
xfs_rtalloc.h [XFS] Remove a bunch of unused functions from XFS. 2007-02-10 18:37:40 +11:00
xfs_rw.c [XFS] decontaminate vfs operations from behavior details 2007-10-16 11:43:55 +10:00
xfs_rw.h [XFS] decontaminate vnode operations from behavior details 2007-10-15 16:54:29 +10:00
xfs_sb.h [XFS] superblock endianess annotations 2007-10-15 16:49:09 +10:00
xfs_trans_ail.c [XFS] Radix tree based inode caching 2007-10-15 16:50:50 +10:00
xfs_trans_buf.c Revert "[XFS] Avoid replaying inode buffer initialisation log items if on-disk version is newer." 2007-10-01 16:39:37 +10:00
xfs_trans_extfree.c [XFS] Radix tree based inode caching 2007-10-15 16:50:50 +10:00
xfs_trans_inode.c [XFS] Remove version 1 directory code. Never functioned on Linux, just 2006-06-20 13:04:51 +10:00
xfs_trans_item.c [XFS] Portability changes: remove prdev, stick to one diagnostic 2006-06-09 15:29:40 +10:00
xfs_trans_priv.h [XFS] Add lock annotations to xfs_trans_update_ail and 2006-09-28 11:04:07 +10:00
xfs_trans_space.h [XFS] Remove version 1 directory code. Never functioned on Linux, just 2006-06-20 13:04:51 +10:00
xfs_trans.c [XFS] kill struct bhv_vfs 2007-10-16 12:17:27 +10:00
xfs_trans.h [XFS] Lazy Superblock Counters 2007-07-14 15:28:50 +10:00
xfs_types.h [XFS] use filldir internally 2007-10-15 16:49:49 +10:00
xfs_utils.c [XFS] move v_trace from bhv_vnode to xfs_inode 2007-10-16 11:39:25 +10:00
xfs_utils.h [XFS] move v_trace from bhv_vnode to xfs_inode 2007-10-16 11:39:25 +10:00
xfs_vfsops.c [XFS] fix when DMAPI mount option processing happens 2007-10-16 12:20:39 +10:00
xfs_vfsops.h [XFS] call common xfs vfs-level helpers directly and remove vfs operations 2007-10-16 11:44:08 +10:00
xfs_vnodeops.c [XFS] simplify xfs_create/mknod/symlink prototype 2007-10-16 14:15:32 +10:00
xfs_vnodeops.h [XFS] simplify xfs_create/mknod/symlink prototype 2007-10-16 14:15:32 +10:00
xfs.h [XFS] Concurrent Multi-File Data Streams 2007-07-14 15:40:53 +10:00