X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=fs%2Focfs2%2Fextent_map.h;h=de91e3e41a224ac7f1eb39f1e35bdd22034d811a;hb=980110c5da56cb56d3356f5a5251fdc920f83ba6;hp=0031c59c347f3f33440211a983e8a81189b8de4a;hpb=49cb8d2d496ce06869ccca2ab368ed6b0b5b979d;p=~andy%2Flinux diff --git a/fs/ocfs2/extent_map.h b/fs/ocfs2/extent_map.h index 0031c59c347..de91e3e41a2 100644 --- a/fs/ocfs2/extent_map.h +++ b/fs/ocfs2/extent_map.h @@ -25,9 +25,29 @@ #ifndef _EXTENT_MAP_H #define _EXTENT_MAP_H +struct ocfs2_extent_map_item { + unsigned int ei_cpos; + unsigned int ei_phys; + unsigned int ei_clusters; + unsigned int ei_flags; + + struct list_head ei_list; +}; + +#define OCFS2_MAX_EXTENT_MAP_ITEMS 3 +struct ocfs2_extent_map { + unsigned int em_num_items; + struct list_head em_list; +}; + +void ocfs2_extent_map_init(struct inode *inode); +void ocfs2_extent_map_trunc(struct inode *inode, unsigned int cluster); +void ocfs2_extent_map_insert_rec(struct inode *inode, + struct ocfs2_extent_rec *rec); + int ocfs2_get_clusters(struct inode *inode, u32 v_cluster, u32 *p_cluster, u32 *num_clusters, unsigned int *extent_flags); int ocfs2_extent_map_get_blocks(struct inode *inode, u64 v_blkno, u64 *p_blkno, - int *ret_count, unsigned int *extent_flags); + u64 *ret_count, unsigned int *extent_flags); #endif /* _EXTENT_MAP_H */