kernel_optimize_test/fs/ocfs2
Tao Ma 0a1ea437d8 ocfs2: Only bug out when page size is larger than cluster size.
In CoW, we have to make sure that the page is already written
out to the disk. So we have a BUG_ON(PageDirty(page)).

In ppc platform we have pagesize=64K, so if the cs=4K, if the
file have fragmented clusters, we will map the page many times.
See this file as an example.
Tree Depth: 0   Count: 19   Next Free Rec: 14
	## Offset        Clusters       Block#          Flags
	0  0             4              2164864         0x2 Refcounted
	1  4             2              9302792         0x2 Refcounted
...

We have to replace the extent recs one by one, so the page with index 0
will be mapped and dirtied twice.

I'd like to leave the BUG_ON there while adding a check so that in
case we meet with an error in other platforms, we can find it easily.

Signed-off-by: Tao Ma <tao.ma@oracle.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
2010-02-02 18:15:35 -08:00
..
cluster ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
dlm ocfs2/dlm: Print more messages during lock migration 2010-01-25 19:21:09 -08:00
acl.c Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2009-12-24 12:59:11 -08:00
acl.h ocfs2: Always include ACL support 2009-10-28 23:05:57 -07:00
alloc.c Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2009-12-23 13:33:07 -08:00
alloc.h ocfs2: Find proper end cpos for a leaf refcount block. 2009-12-02 16:14:57 -08:00
aops.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
aops.h ocfs2: Add CoW support. 2009-09-22 20:09:36 -07:00
blockcheck.c tree-wide: fix typos "offest" -> "offset" 2009-12-04 15:39:50 +01:00
blockcheck.h ocfs2: Add statistics for the checksum and ecc operations. 2009-06-03 19:15:36 -07:00
buffer_head_io.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
buffer_head_io.h ocfs2: Take the inode out of the metadata read/write paths. 2009-09-04 16:07:48 -07:00
dcache.c ocfs2: invalidate dentry if its dentry_lock isn't initialized. 2009-08-27 18:10:54 -07:00
dcache.h ocfs2: Fix deadlock on umount 2009-07-21 15:47:55 -07:00
dir.c ocfs2: Pass ocfs2_caching_info into ocfs_init_*_extent_tree(). 2009-09-04 16:08:13 -07:00
dir.h ocfs2: Introduce dir free space list 2009-04-03 11:39:16 -07:00
dlmglue.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
dlmglue.h ocfs2: Add new refcount tree lock resource in dlmglue. 2009-09-22 20:09:28 -07:00
export.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
export.h exportfs: make struct export_operations const 2007-10-22 08:13:21 -07:00
extent_map.c Ocfs2: Let ocfs2 support fiemap for symlink and fast symlink. 2009-12-23 17:52:09 -08:00
extent_map.h ocfs2: Return extent flags for xattr value tree. 2009-09-22 20:09:39 -07:00
file.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
file.h ocfs2: Integrate CoW in file write. 2009-09-22 20:09:37 -07:00
heartbeat.c ocfs2: Move o2hb functionality into the stack glue. 2008-04-18 08:56:04 -07:00
heartbeat.h ocfs2: Move o2hb functionality into the stack glue. 2008-04-18 08:56:04 -07:00
inode.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
inode.h ocfs2: Drop struct inode from ocfs2_extent_tree_operations. 2009-09-04 16:07:57 -07:00
ioctl.c Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2009-09-23 09:29:20 -07:00
ioctl.h ocfs2: Convert ocfs2 over to unlocked_ioctl 2008-04-18 08:56:11 -07:00
journal.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
journal.h ocfs2: Decrement refcount when truncating refcounted extents. 2009-09-22 20:09:35 -07:00
Kconfig ocfs2: Always include ACL support 2009-10-28 23:05:57 -07:00
localalloc.c ocfs2: Pass struct ocfs2_caching_info to the journal functions. 2009-09-04 16:07:50 -07:00
localalloc.h ocfs2: throttle back local alloc when low on disk space 2008-10-13 13:57:57 -07:00
locks.c ocfs2: POSIX file locks support 2008-10-13 13:57:57 -07:00
locks.h ocfs2: POSIX file locks support 2008-10-13 13:57:57 -07:00
Makefile ocfs2: Always include ACL support 2009-10-28 23:05:57 -07:00
mmap.c const: mark struct vm_struct_operations 2009-09-27 11:39:25 -07:00
mmap.h
namei.c Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2009-12-24 12:59:11 -08:00
namei.h ocfs2: Create reflinked file in orphan dir. 2009-09-22 20:09:48 -07:00
ocfs1_fs_compat.h fs/: Spelling fixes 2008-02-03 17:33:42 +02:00
ocfs2_fs.h ocfs2: Sync max_inline_data_with_xattr from tools. 2010-01-25 19:20:45 -08:00
ocfs2_lockid.h ocfs2: Add new refcount tree lock resource in dlmglue. 2009-09-22 20:09:28 -07:00
ocfs2_lockingver.h ocfs2: Negotiate locking protocol versions. 2008-02-06 16:11:29 -08:00
ocfs2.h Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2009-12-24 12:59:11 -08:00
quota_global.c Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2009-09-23 09:29:20 -07:00
quota_local.c const: struct quota_format_ops 2009-12-10 15:02:51 +01:00
quota.h quota: Move definition of QFMT_OCFS2 to linux/quota.h 2009-12-10 15:02:53 +01:00
refcounttree.c ocfs2: Only bug out when page size is larger than cluster size. 2010-02-02 18:15:35 -08:00
refcounttree.h ocfs2: Add ioctl for reflink. 2009-09-22 20:09:51 -07:00
resize.c ocfs2: Pass struct ocfs2_caching_info to the journal functions. 2009-09-04 16:07:50 -07:00
resize.h [PATCH 2/2] ocfs2: Implement group add for online resize 2008-01-25 15:04:24 -08:00
slot_map.c ocfs2: Take the inode out of the metadata read/write paths. 2009-09-04 16:07:48 -07:00
slot_map.h ocfs2: De-magic the in-memory slot map. 2008-04-18 08:56:03 -07:00
stack_o2cb.c ocfs2: fix a misleading variable name 2010-01-25 19:20:48 -08:00
stack_user.c ocfs2: explicit declare uninitialized var in user_cluster_connect() 2009-12-17 20:55:52 -08:00
stackglue.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
stackglue.h ocfs2: Provide the ocfs2_dlm_lvb_valid() stack API. 2009-06-22 14:24:30 -07:00
suballoc.c ocfs2: Pass ocfs2_caching_info to ocfs2_read_extent_block(). 2009-09-04 16:07:52 -07:00
suballoc.h ocfs2: fix rare stale inode errors when exporting via nfs 2009-04-03 11:39:25 -07:00
super.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
super.h ocfs2: use s_maxbytes directly in ocfs2_change_file_space() 2007-08-09 17:25:07 -07:00
symlink.c ocfs2: Fix refcnt leak on ocfs2_fast_follow_link() error path 2010-01-11 15:38:50 -08:00
symlink.h [PATCH] mark struct inode_operations const 2 2007-02-12 09:48:46 -08:00
sysfile.c ocfs2/trivial: Wrap ocfs2_sysfile_cluster_lock_key within define. 2009-06-22 14:34:29 -07:00
sysfile.h
uptodate.c ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
uptodate.h ocfs2: Pass struct ocfs2_caching_info to the journal functions. 2009-09-04 16:07:50 -07:00
ver.c ocfs2: bump version number 2008-01-25 15:05:46 -08:00
ver.h
xattr.c Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2009-12-24 12:59:11 -08:00
xattr.h ocfs2: Always include ACL support 2009-10-28 23:05:57 -07:00