diff options
author | Bobi Jam <bobijam@whamcloud.com> | 2012-02-20 17:53:02 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2012-02-20 17:53:02 -0500 |
commit | 18aadd47f88464928b5ce57791c2e8f9f2aaece0 (patch) | |
tree | bb4f32855484a6dd6081c33fae1564359a88af74 /fs/ext4/mballoc.h | |
parent | 15291164b22a357cb211b618adfef4fa82fc0de3 (diff) |
ext4: expand commit callback and
The per-commit callback was used by mballoc code to manage free space
bitmaps after deleted blocks have been released. This patch expands
it to support multiple different callbacks, to allow other things to
be done after the commit has been completed.
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/mballoc.h')
-rw-r--r-- | fs/ext4/mballoc.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/fs/ext4/mballoc.h b/fs/ext4/mballoc.h index 47705f3285e3..7128f46d8501 100644 --- a/fs/ext4/mballoc.h +++ b/fs/ext4/mballoc.h | |||
@@ -96,21 +96,23 @@ extern u8 mb_enable_debug; | |||
96 | 96 | ||
97 | 97 | ||
98 | struct ext4_free_data { | 98 | struct ext4_free_data { |
99 | /* this links the free block information from group_info */ | 99 | /* MUST be the first member */ |
100 | struct rb_node node; | 100 | struct ext4_journal_cb_entry efd_jce; |
101 | |||
102 | /* ext4_free_data private data starts from here */ | ||
101 | 103 | ||
102 | /* this links the free block information from ext4_sb_info */ | 104 | /* this links the free block information from group_info */ |
103 | struct list_head list; | 105 | struct rb_node efd_node; |
104 | 106 | ||
105 | /* group which free block extent belongs */ | 107 | /* group which free block extent belongs */ |
106 | ext4_group_t group; | 108 | ext4_group_t efd_group; |
107 | 109 | ||
108 | /* free block extent */ | 110 | /* free block extent */ |
109 | ext4_grpblk_t start_cluster; | 111 | ext4_grpblk_t efd_start_cluster; |
110 | ext4_grpblk_t count; | 112 | ext4_grpblk_t efd_count; |
111 | 113 | ||
112 | /* transaction which freed this extent */ | 114 | /* transaction which freed this extent */ |
113 | tid_t t_tid; | 115 | tid_t efd_tid; |
114 | }; | 116 | }; |
115 | 117 | ||
116 | struct ext4_prealloc_space { | 118 | struct ext4_prealloc_space { |