summaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/refcounttree.h
diff options
context:
space:
mode:
authorTao Ma <tao.ma@oracle.com>2009-08-18 05:24:49 +0200
committerJoel Becker <joel.becker@oracle.com>2009-09-23 05:09:33 +0200
commit1823cb0b9fe5e6d48017ee3f92428f69c0235d87 (patch)
tree461e5d6cc255c400acac69dd968fae935a9c073f /fs/ocfs2/refcounttree.h
parentocfs2: Add support for incrementing refcount in the tree. (diff)
downloadlinux-1823cb0b9fe5e6d48017ee3f92428f69c0235d87.tar.xz
linux-1823cb0b9fe5e6d48017ee3f92428f69c0235d87.zip
ocfs2: Add support of decrementing refcount for delete.
Given a physical cpos and length, decrement the refcount in the tree. If the refcount for any portion of the extent goes to zero, that portion is queued for freeing. Signed-off-by: Tao Ma <tao.ma@oracle.com>
Diffstat (limited to 'fs/ocfs2/refcounttree.h')
-rw-r--r--fs/ocfs2/refcounttree.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/ocfs2/refcounttree.h b/fs/ocfs2/refcounttree.h
index 2ea7fc52c23c..ad4b483ec5c7 100644
--- a/fs/ocfs2/refcounttree.h
+++ b/fs/ocfs2/refcounttree.h
@@ -40,4 +40,9 @@ int ocfs2_lock_refcount_tree(struct ocfs2_super *osb, u64 ref_blkno, int rw,
void ocfs2_unlock_refcount_tree(struct ocfs2_super *osb,
struct ocfs2_refcount_tree *tree,
int rw);
+
+int ocfs2_decrease_refcount(struct inode *inode,
+ handle_t *handle, u32 cpos, u32 len,
+ struct ocfs2_alloc_context *meta_ac,
+ struct ocfs2_cached_dealloc_ctxt *dealloc);
#endif /* OCFS2_REFCOUNTTREE_H */