Lines Matching refs:system_blks

55 static void release_system_zone(struct ext4_system_blocks *system_blks)
60 &system_blks->root, node)
69 static int add_system_zone(struct ext4_system_blocks *system_blks,
74 struct rb_node **n = &system_blks->root.rb_node, *node;
98 rb_insert_color(new_node, &system_blks->root);
107 rb_erase(node, &system_blks->root);
118 rb_erase(node, &system_blks->root);
129 struct ext4_system_blocks *system_blks;
134 system_blks = rcu_dereference(sbi->s_system_blks);
135 node = rb_first(&system_blks->root);
148 struct ext4_system_blocks *system_blks,
176 err = add_system_zone(system_blks, map.m_pblk, n, ino);
195 struct ext4_system_blocks *system_blks;
197 system_blks = container_of(rcu, struct ext4_system_blocks, rcu);
198 release_system_zone(system_blks);
199 kfree(system_blks);
205 * The update of system_blks pointer in this function is protected by
207 * racing with ext4_data_block_valid() calls reading system_blks rbtree
215 struct ext4_system_blocks *system_blks;
220 system_blks = kzalloc(sizeof(*system_blks), GFP_KERNEL);
221 if (!system_blks)
229 ret = add_system_zone(system_blks,
236 ret = add_system_zone(system_blks,
240 ret = add_system_zone(system_blks,
244 ret = add_system_zone(system_blks,
251 ret = ext4_protect_reserved_inode(sb, system_blks,
262 rcu_assign_pointer(sbi->s_system_blks, system_blks);
268 release_system_zone(system_blks);
269 kfree(system_blks);
277 * The update of system_blks pointer in this function is protected by
279 * racing with ext4_data_block_valid() calls reading system_blks rbtree
280 * protected only by RCU. So we first clear the system_blks pointer and
285 struct ext4_system_blocks *system_blks;
287 system_blks = rcu_dereference_protected(EXT4_SB(sb)->s_system_blks,
291 if (system_blks)
292 call_rcu(&system_blks->rcu, ext4_destroy_system_zone);
299 struct ext4_system_blocks *system_blks;
315 system_blks = rcu_dereference(sbi->s_system_blks);
316 if (system_blks == NULL)
319 n = system_blks->root.rb_node;