diff options
author | Tao Ma <tao.ma@oracle.com> | 2009-08-25 08:05:12 +0800 |
---|---|---|
committer | Joel Becker <joel.becker@oracle.com> | 2009-09-22 20:09:36 -0700 |
commit | 6f70fa519976a379d72781d927cf8e5f5b05ec86 (patch) | |
tree | 563cdeb116f2016c3c4b7a627a51f0a85eec1566 /fs/ocfs2/refcounttree.h | |
parent | bcbbb24a6a5c5b3e7b8e5284e0bfa23f45c32377 (diff) | |
download | op-kernel-dev-6f70fa519976a379d72781d927cf8e5f5b05ec86.zip op-kernel-dev-6f70fa519976a379d72781d927cf8e5f5b05ec86.tar.gz |
ocfs2: Add CoW support.
This patch try CoW support for a refcounted record.
the whole process will be:
1. Calculate how many clusters we need to CoW and where we start.
Extents that are not completely encompassed by the write will
be broken on 1MB boundaries.
2. Do CoW for the clusters with the help of page cache.
3. Change the b-tree structure with the new allocated clusters.
Signed-off-by: Tao Ma <tao.ma@oracle.com>
Diffstat (limited to 'fs/ocfs2/refcounttree.h')
-rw-r--r-- | fs/ocfs2/refcounttree.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/ocfs2/refcounttree.h b/fs/ocfs2/refcounttree.h index b8c9ed7..9960878 100644 --- a/fs/ocfs2/refcounttree.h +++ b/fs/ocfs2/refcounttree.h @@ -51,4 +51,6 @@ int ocfs2_prepare_refcount_change_for_del(struct inode *inode, u32 clusters, int *credits, struct ocfs2_alloc_context **meta_ac); +int ocfs2_refcount_cow(struct inode *inode, struct buffer_head *di_bh, + u32 cpos, u32 write_len); #endif /* OCFS2_REFCOUNTTREE_H */ |