linux/fs/ocfs2
Tao Ma bc13d34757 ocfs2: Create reflinked file in orphan dir.
reflink is a very complicated process, so it can't be integrated
into one transaction. So if the system panic in the operation, we
may leave a unfinished inode in the destication directory.

So we will try to create an inode in orphan_dir first, reflink it
to the src file and then move it to the destication file in the end.
In that way we won't be afraid of any corruption during the reflink.

This patch adds 2 functions for orphan_dir operation:
1. Create a new inode in orphand dir.
2. Move an inode to a target dir.

Note:
fsck.ocfs2 should work for us to remove the unfinished file in the
orphan_dir.

Signed-off-by: Tao Ma <tao.ma@oracle.com>
2009-09-22 20:09:48 -07:00
..
cluster ocfs2: Add ocfs2_read_refcount_block. 2009-09-22 20:09:26 -07:00
dlm ocfs2/dlm: Wait on lockres instead of erroring cancel requests 2009-08-20 18:42:34 -07:00
Kconfig
Makefile ocfs2: Add ocfs2_read_refcount_block. 2009-09-22 20:09:26 -07:00
acl.c
acl.h
alloc.c ocfs2: Make transaction extend more efficient. 2009-09-22 20:09:46 -07:00
alloc.h ocfs2: Add CoW support. 2009-09-22 20:09:36 -07:00
aops.c ocfs2: CoW a reflinked cluster when it is truncated. 2009-09-22 20:09:38 -07:00
aops.h ocfs2: Add CoW support. 2009-09-22 20:09:36 -07:00
blockcheck.c ocfs2: Add statistics for the checksum and ecc operations. 2009-06-03 19:15:36 -07: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: Take the inode out of the metadata read/write paths. 2009-09-04 16:07:48 -07: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
dlmglue.c ocfs2: Add new refcount tree lock resource in dlmglue. 2009-09-22 20:09:28 -07:00
dlmglue.h ocfs2: Add new refcount tree lock resource in dlmglue. 2009-09-22 20:09:28 -07:00
export.c ocfs2: Fix some printk() warnings. 2009-04-21 16:31:20 -07:00
export.h
extent_map.c ocfs2: Return extent flags for xattr value tree. 2009-09-22 20:09:39 -07:00
extent_map.h ocfs2: Return extent flags for xattr value tree. 2009-09-22 20:09:39 -07:00
file.c ocfs2: Call refcount tree remove process properly. 2009-09-22 20:09:44 -07:00
file.h ocfs2: Integrate CoW in file write. 2009-09-22 20:09:37 -07:00
heartbeat.c
heartbeat.h
inode.c ocfs2: Call refcount tree remove process properly. 2009-09-22 20:09:44 -07:00
inode.h ocfs2: Drop struct inode from ocfs2_extent_tree_operations. 2009-09-04 16:07:57 -07:00
ioctl.c
ioctl.h
journal.c ocfs2: Add metaecc for ocfs2_refcount_block. 2009-09-22 20:09:26 -07:00
journal.h ocfs2: Decrement refcount when truncating refcounted extents. 2009-09-22 20:09:35 -07:00
localalloc.c ocfs2: Pass struct ocfs2_caching_info to the journal functions. 2009-09-04 16:07:50 -07:00
localalloc.h
locks.c
locks.h
mmap.c
mmap.h
namei.c ocfs2: Create reflinked file in orphan dir. 2009-09-22 20:09:48 -07:00
namei.h ocfs2: Create reflinked file in orphan dir. 2009-09-22 20:09:48 -07:00
ocfs1_fs_compat.h
ocfs2.h ocfs2: Add functions for extents refcounted. 2009-09-22 20:09:34 -07:00
ocfs2_fs.h ocfs2: Add support for incrementing refcount in the tree. 2009-09-22 20:09:33 -07:00
ocfs2_lockid.h ocfs2: Add new refcount tree lock resource in dlmglue. 2009-09-22 20:09:28 -07:00
ocfs2_lockingver.h
quota.h ocfs2: Remove syncjiff field from quota info 2009-07-23 10:59:27 -07:00
quota_global.c ocfs2: Pass struct ocfs2_caching_info to the journal functions. 2009-09-04 16:07:50 -07:00
quota_local.c ocfs2: Pass struct ocfs2_caching_info to the journal functions. 2009-09-04 16:07:50 -07:00
refcounttree.c ocfs2: Don't merge in 1st refcount ops of reflink. 2009-09-22 20:09:46 -07:00
refcounttree.h ocfs2: Add reflink support for xattr. 2009-09-22 20:09:45 -07:00
resize.c ocfs2: Pass struct ocfs2_caching_info to the journal functions. 2009-09-04 16:07:50 -07:00
resize.h
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
stack_o2cb.c ocfs2: keep index within status_map[] 2009-08-07 13:16:50 -07:00
stack_user.c ocfs2: Provide the ocfs2_dlm_lvb_valid() stack API. 2009-06-22 14:24:30 -07:00
stackglue.c ocfs2: Provide the ocfs2_dlm_lvb_valid() stack API. 2009-06-22 14:24:30 -07: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
super.c ocfs2: Add refcount tree lock mechanism. 2009-09-22 20:09:29 -07:00
super.h
symlink.c ocfs2: Use nd_set_link(). 2009-05-09 10:49:40 -04:00
symlink.h
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: move ip_created_trans to struct ocfs2_caching_info 2009-09-04 16:07:49 -07:00
uptodate.h ocfs2: Pass struct ocfs2_caching_info to the journal functions. 2009-09-04 16:07:50 -07:00
ver.c
ver.h
xattr.c ocfs2: Modify removing xattr process for refcount. 2009-09-22 20:09:45 -07:00
xattr.h ocfs2: Add reflink support for xattr. 2009-09-22 20:09:45 -07:00