-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ext4: add data structures for the extent status tree
This patch adds two structures that supports extent status tree, extent_status and ext4_es_tree. Currently extent_status is used to track a delay extent for an inode, which record the start block and the length of the delay extent. ext4_es_tree is used to store all extent_status for an inode in memory. Signed-off-by: Yongqiang Yang <xiaoqiangnk@gmail.com> Signed-off-by: Allison Henderson <achender@linux.vnet.ibm.com> Signed-off-by: Zheng Liu <wenqing.lz@taobao.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
- Loading branch information
Zheng Liu
authored and
Theodore Ts'o
committed
Nov 8, 2012
1 parent
07aa2ea
commit c0677e6
Showing
2 changed files
with
31 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
/* | ||
* fs/ext4/extents_status.h | ||
* | ||
* Written by Yongqiang Yang <xiaoqiangnk@gmail.com> | ||
* Modified by | ||
* Allison Henderson <achender@linux.vnet.ibm.com> | ||
* Zheng Liu <wenqing.lz@taobao.com> | ||
* | ||
*/ | ||
|
||
#ifndef _EXT4_EXTENTS_STATUS_H | ||
#define _EXT4_EXTENTS_STATUS_H | ||
|
||
struct extent_status { | ||
struct rb_node rb_node; | ||
ext4_lblk_t start; /* first block extent covers */ | ||
ext4_lblk_t len; /* length of extent in block */ | ||
}; | ||
|
||
struct ext4_es_tree { | ||
struct rb_root root; | ||
struct extent_status *cache_es; /* recently accessed extent */ | ||
}; | ||
|
||
#endif /* _EXT4_EXTENTS_STATUS_H */ |