kernel_optimize_test/fs/ocfs2
Mark Fasheh 3a0782d09c ocfs2: teach extend/truncate about sparse files
For ocfs2_truncate_file(), we eliminate the "simple" truncate case which no
longer exists since i_size is not tied to i_clusters. In
ocfs2_extend_file(), we skip the allocation / page zeroing code for file
systems which understand sparse files.

The core truncate code is changed to do a bottom up tree traversal. This
gets abstracted out into it's own function. To make things more readable,
most of the special case handling for in-inode extents from
ocfs2_do_truncate() is also removed.

Though write support for sparse files comes in a later patch, we at least
update ocfs2_prepare_inode_for_write() to skip allocation for sparse files.

Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
2007-04-26 15:01:56 -07:00
..
cluster ocfs2: Remove delete inode vote 2007-04-26 14:39:48 -07:00
dlm ocfs2: Silence compiler warnings 2007-04-26 13:38:55 -07:00
alloc.c ocfs2: teach extend/truncate about sparse files 2007-04-26 15:01:56 -07:00
alloc.h ocfs2: temporarily remove extent map caching 2007-04-26 15:01:31 -07:00
aops.c ocfs2: temporarily remove extent map caching 2007-04-26 15:01:31 -07:00
aops.h ocfs2: Remove struct ocfs2_journal_handle in favor of handle_t 2006-12-01 18:28:28 -08:00
buffer_head_io.c ocfs2: implement directory read-ahead 2006-09-20 15:53:40 -07:00
buffer_head_io.h ocfs2: implement directory read-ahead 2006-09-20 15:53:40 -07:00
dcache.c ocfs2: Remove special casing for inode creation in ocfs2_dentry_attach_lock() 2006-09-24 13:50:45 -07:00
dcache.h ocfs2: Remove special casing for inode creation in ocfs2_dentry_attach_lock() 2006-09-24 13:50:45 -07:00
dir.c ocfs2: temporarily remove extent map caching 2007-04-26 15:01:31 -07:00
dir.h ocfs2: Remove struct ocfs2_journal_handle in favor of handle_t 2006-12-01 18:28:28 -08:00
dlmglue.c ocfs2: temporarily remove extent map caching 2007-04-26 15:01:31 -07:00
dlmglue.h ocfs2: Remove delete inode vote 2007-04-26 14:39:48 -07:00
endian.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
export.c ocfs2: cleanup ocfs2_iget() errors 2007-01-21 16:19:12 -08:00
export.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
extent_map.c ocfs2: temporarily remove extent map caching 2007-04-26 15:01:31 -07:00
extent_map.h ocfs2: temporarily remove extent map caching 2007-04-26 15:01:31 -07:00
file.c ocfs2: teach extend/truncate about sparse files 2007-04-26 15:01:56 -07:00
file.h ocfs2: sparse b-tree support 2007-04-26 14:44:03 -07:00
heartbeat.c ocfs2: Proper cleanup in case of error in ocfs2_register_hb_callbacks() 2007-03-14 14:37:09 -07:00
heartbeat.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
inode.c ocfs2: teach extend/truncate about sparse files 2007-04-26 15:01:56 -07:00
inode.h ocfs2: temporarily remove extent map caching 2007-04-26 15:01:31 -07:00
ioctl.c ocfs2: Remove struct ocfs2_journal_handle in favor of handle_t 2006-12-01 18:28:28 -08:00
ioctl.h ocfs2: add ext2 attributes 2006-09-20 15:48:39 -07:00
journal.c ocfs2: temporarily remove extent map caching 2007-04-26 15:01:31 -07:00
journal.h ocfs2: ocfs2_link() journal credits update 2007-02-01 12:03:19 -08:00
localalloc.c [PATCH] Fix numerous kcalloc() calls, convert to kzalloc() 2006-12-13 09:05:52 -08:00
localalloc.h ocfs2: Remove struct ocfs2_journal_handle in favor of handle_t 2006-12-01 18:28:28 -08:00
Makefile ocfs2: add ext2 attributes 2006-09-20 15:48:39 -07:00
mmap.c ocfs2: local mounts 2006-12-07 17:37:53 -08:00
mmap.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
namei.c ocfs2: temporarily remove extent map caching 2007-04-26 15:01:31 -07:00
namei.h [PATCH] mark struct inode_operations const 2 2007-02-12 09:48:46 -08:00
ocfs1_fs_compat.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
ocfs2_fs.h ocfs2: sparse b-tree support 2007-04-26 14:44:03 -07:00
ocfs2_lockid.h ocfs2: Remove delete inode vote 2007-04-26 14:39:48 -07:00
ocfs2.h ocfs2: temporarily remove extent map caching 2007-04-26 15:01:31 -07:00
slot_map.c ocfs2: temporarily remove extent map caching 2007-04-26 15:01:31 -07:00
slot_map.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
suballoc.c [PATCH] Fix numerous kcalloc() calls, convert to kzalloc() 2006-12-13 09:05:52 -08:00
suballoc.h ocfs2: Remove struct ocfs2_journal_handle in favor of handle_t 2006-12-01 18:28:28 -08:00
super.c ocfs2: temporarily remove extent map caching 2007-04-26 15:01:31 -07:00
super.h ocfs2: use __attribute__ format 2006-03-24 14:58:24 -08:00
symlink.c [PATCH] mark struct inode_operations const 2 2007-02-12 09:48:46 -08:00
symlink.h [PATCH] mark struct inode_operations const 2 2007-02-12 09:48:46 -08:00
sysfile.c ocfs2: Remove i_generation from inode lock names 2006-09-24 13:50:46 -07:00
sysfile.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
uptodate.c [PATCH] slab: remove kmem_cache_t 2006-12-07 08:39:25 -08:00
uptodate.h ocfs2: implement directory read-ahead 2006-09-20 15:53:40 -07:00
ver.c [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
ver.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
vote.c ocfs2: remove unused code 2007-04-26 14:40:16 -07:00
vote.h ocfs2: remove unused code 2007-04-26 14:40:16 -07:00