ocfs2: Add support for incrementing refcount in the tree.

Given a physical cpos and length, increment the refcount
in the tree. If the extent has not been seen before, a refcount
record is created for it. Refcount records may be merged or
split by this operation.

Signed-off-by: Tao Ma <tao.ma@oracle.com>
This commit is contained in:
Tao Ma
2009-08-11 14:33:14 +08:00
committad av Joel Becker
förälder e2e9f6082b
incheckning e73a819db9
4 ändrade filer med 1073 tillägg och 7 borttagningar

Visa fil

@@ -916,6 +916,7 @@ struct ocfs2_refcount_rec {
__le32 r_refcount; /* Reference count of this extent */
/*10*/
};
#define OCFS2_32BIT_POS_MASK (0xffffffffULL)
#define OCFS2_REFCOUNT_LEAF_FL (0x00000001)
#define OCFS2_REFCOUNT_TREE_FL (0x00000002)
@@ -1394,6 +1395,12 @@ static inline u16 ocfs2_refcount_recs_per_rb(struct super_block *sb)
return size / sizeof(struct ocfs2_refcount_rec);
}
static inline u32
ocfs2_get_ref_rec_low_cpos(const struct ocfs2_refcount_rec *rec)
{
return le64_to_cpu(rec->r_cpos) & OCFS2_32BIT_POS_MASK;
}
#else
static inline int ocfs2_fast_symlink_chars(int blocksize)
{