• Home
  • Raw
  • Download

Lines Matching refs:pa

643 		struct ext4_prealloc_space *pa;  in __mb_check_buddy()  local
644 pa = list_entry(cur, struct ext4_prealloc_space, pa_group_list); in __mb_check_buddy()
645 ext4_get_group_no_and_offset(sb, pa->pa_pstart, &groupnr, &k); in __mb_check_buddy()
647 for (i = 0; i < pa->pa_len; i++) in __mb_check_buddy()
2720 struct ext4_prealloc_space *pa; in ext4_mb_cleanup_pa() local
2725 pa = list_entry(cur, struct ext4_prealloc_space, pa_group_list); in ext4_mb_cleanup_pa()
2726 list_del(&pa->pa_group_list); in ext4_mb_cleanup_pa()
2728 kmem_cache_free(ext4_pspace_cachep, pa); in ext4_mb_cleanup_pa()
3068 struct ext4_prealloc_space *pa; in ext4_mb_normalize_request() local
3162 list_for_each_entry_rcu(pa, &ei->i_prealloc_list, pa_inode_list) { in ext4_mb_normalize_request()
3165 if (pa->pa_deleted) in ext4_mb_normalize_request()
3167 spin_lock(&pa->pa_lock); in ext4_mb_normalize_request()
3168 if (pa->pa_deleted) { in ext4_mb_normalize_request()
3169 spin_unlock(&pa->pa_lock); in ext4_mb_normalize_request()
3173 pa_end = pa->pa_lstart + EXT4_C2B(EXT4_SB(ac->ac_sb), in ext4_mb_normalize_request()
3174 pa->pa_len); in ext4_mb_normalize_request()
3178 ac->ac_o_ex.fe_logical < pa->pa_lstart)); in ext4_mb_normalize_request()
3181 if (pa->pa_lstart >= end || pa_end <= start) { in ext4_mb_normalize_request()
3182 spin_unlock(&pa->pa_lock); in ext4_mb_normalize_request()
3185 BUG_ON(pa->pa_lstart <= start && pa_end >= end); in ext4_mb_normalize_request()
3191 } else if (pa->pa_lstart > ac->ac_o_ex.fe_logical) { in ext4_mb_normalize_request()
3192 BUG_ON(pa->pa_lstart > end); in ext4_mb_normalize_request()
3193 end = pa->pa_lstart; in ext4_mb_normalize_request()
3195 spin_unlock(&pa->pa_lock); in ext4_mb_normalize_request()
3202 list_for_each_entry_rcu(pa, &ei->i_prealloc_list, pa_inode_list) { in ext4_mb_normalize_request()
3205 spin_lock(&pa->pa_lock); in ext4_mb_normalize_request()
3206 if (pa->pa_deleted == 0) { in ext4_mb_normalize_request()
3207 pa_end = pa->pa_lstart + EXT4_C2B(EXT4_SB(ac->ac_sb), in ext4_mb_normalize_request()
3208 pa->pa_len); in ext4_mb_normalize_request()
3209 BUG_ON(!(start >= pa_end || end <= pa->pa_lstart)); in ext4_mb_normalize_request()
3211 spin_unlock(&pa->pa_lock); in ext4_mb_normalize_request()
3283 struct ext4_prealloc_space *pa = ac->ac_pa; in ext4_discard_allocated_blocks() local
3287 if (pa == NULL) { in ext4_discard_allocated_blocks()
3307 if (pa->pa_type == MB_INODE_PA) in ext4_discard_allocated_blocks()
3308 pa->pa_free += ac->ac_b_ex.fe_len; in ext4_discard_allocated_blocks()
3315 struct ext4_prealloc_space *pa) in ext4_mb_use_inode_pa() argument
3323 start = pa->pa_pstart + (ac->ac_o_ex.fe_logical - pa->pa_lstart); in ext4_mb_use_inode_pa()
3324 end = min(pa->pa_pstart + EXT4_C2B(sbi, pa->pa_len), in ext4_mb_use_inode_pa()
3331 ac->ac_pa = pa; in ext4_mb_use_inode_pa()
3333 BUG_ON(start < pa->pa_pstart); in ext4_mb_use_inode_pa()
3334 BUG_ON(end > pa->pa_pstart + EXT4_C2B(sbi, pa->pa_len)); in ext4_mb_use_inode_pa()
3335 BUG_ON(pa->pa_free < len); in ext4_mb_use_inode_pa()
3336 pa->pa_free -= len; in ext4_mb_use_inode_pa()
3338 mb_debug(1, "use %llu/%u from inode pa %p\n", start, len, pa); in ext4_mb_use_inode_pa()
3345 struct ext4_prealloc_space *pa) in ext4_mb_use_group_pa() argument
3349 ext4_get_group_no_and_offset(ac->ac_sb, pa->pa_pstart, in ext4_mb_use_group_pa()
3354 ac->ac_pa = pa; in ext4_mb_use_group_pa()
3362 mb_debug(1, "use %u/%u from group pa %p\n", pa->pa_lstart-len, len, pa); in ext4_mb_use_group_pa()
3373 struct ext4_prealloc_space *pa, in ext4_mb_check_group_pa() argument
3379 atomic_inc(&pa->pa_count); in ext4_mb_check_group_pa()
3380 return pa; in ext4_mb_check_group_pa()
3383 new_distance = abs(goal_block - pa->pa_pstart); in ext4_mb_check_group_pa()
3390 atomic_inc(&pa->pa_count); in ext4_mb_check_group_pa()
3391 return pa; in ext4_mb_check_group_pa()
3404 struct ext4_prealloc_space *pa, *cpa = NULL; in ext4_mb_use_preallocated() local
3413 list_for_each_entry_rcu(pa, &ei->i_prealloc_list, pa_inode_list) { in ext4_mb_use_preallocated()
3417 if (ac->ac_o_ex.fe_logical < pa->pa_lstart || in ext4_mb_use_preallocated()
3418 ac->ac_o_ex.fe_logical >= (pa->pa_lstart + in ext4_mb_use_preallocated()
3419 EXT4_C2B(sbi, pa->pa_len))) in ext4_mb_use_preallocated()
3424 (pa->pa_pstart + EXT4_C2B(sbi, pa->pa_len) > in ext4_mb_use_preallocated()
3429 spin_lock(&pa->pa_lock); in ext4_mb_use_preallocated()
3430 if (pa->pa_deleted == 0 && pa->pa_free) { in ext4_mb_use_preallocated()
3431 atomic_inc(&pa->pa_count); in ext4_mb_use_preallocated()
3432 ext4_mb_use_inode_pa(ac, pa); in ext4_mb_use_preallocated()
3433 spin_unlock(&pa->pa_lock); in ext4_mb_use_preallocated()
3438 spin_unlock(&pa->pa_lock); in ext4_mb_use_preallocated()
3462 list_for_each_entry_rcu(pa, &lg->lg_prealloc_list[i], in ext4_mb_use_preallocated()
3464 spin_lock(&pa->pa_lock); in ext4_mb_use_preallocated()
3465 if (pa->pa_deleted == 0 && in ext4_mb_use_preallocated()
3466 pa->pa_free >= ac->ac_o_ex.fe_len) { in ext4_mb_use_preallocated()
3469 pa, cpa); in ext4_mb_use_preallocated()
3471 spin_unlock(&pa->pa_lock); in ext4_mb_use_preallocated()
3517 struct ext4_prealloc_space *pa; in ext4_mb_generate_from_pa() local
3533 pa = list_entry(cur, struct ext4_prealloc_space, pa_group_list); in ext4_mb_generate_from_pa()
3534 spin_lock(&pa->pa_lock); in ext4_mb_generate_from_pa()
3535 ext4_get_group_no_and_offset(sb, pa->pa_pstart, in ext4_mb_generate_from_pa()
3537 len = pa->pa_len; in ext4_mb_generate_from_pa()
3538 spin_unlock(&pa->pa_lock); in ext4_mb_generate_from_pa()
3550 struct ext4_prealloc_space *pa; in ext4_mb_pa_callback() local
3551 pa = container_of(head, struct ext4_prealloc_space, u.pa_rcu); in ext4_mb_pa_callback()
3553 BUG_ON(atomic_read(&pa->pa_count)); in ext4_mb_pa_callback()
3554 BUG_ON(pa->pa_deleted == 0); in ext4_mb_pa_callback()
3555 kmem_cache_free(ext4_pspace_cachep, pa); in ext4_mb_pa_callback()
3563 struct super_block *sb, struct ext4_prealloc_space *pa) in ext4_mb_put_pa() argument
3569 spin_lock(&pa->pa_lock); in ext4_mb_put_pa()
3570 if (!atomic_dec_and_test(&pa->pa_count) || pa->pa_free != 0) { in ext4_mb_put_pa()
3571 spin_unlock(&pa->pa_lock); in ext4_mb_put_pa()
3575 if (pa->pa_deleted == 1) { in ext4_mb_put_pa()
3576 spin_unlock(&pa->pa_lock); in ext4_mb_put_pa()
3580 pa->pa_deleted = 1; in ext4_mb_put_pa()
3581 spin_unlock(&pa->pa_lock); in ext4_mb_put_pa()
3583 grp_blk = pa->pa_pstart; in ext4_mb_put_pa()
3588 if (pa->pa_type == MB_GROUP_PA) in ext4_mb_put_pa()
3608 list_del(&pa->pa_group_list); in ext4_mb_put_pa()
3611 spin_lock(pa->pa_obj_lock); in ext4_mb_put_pa()
3612 list_del_rcu(&pa->pa_inode_list); in ext4_mb_put_pa()
3613 spin_unlock(pa->pa_obj_lock); in ext4_mb_put_pa()
3615 call_rcu(&(pa)->u.pa_rcu, ext4_mb_pa_callback); in ext4_mb_put_pa()
3626 struct ext4_prealloc_space *pa; in ext4_mb_new_inode_pa() local
3635 pa = kmem_cache_alloc(ext4_pspace_cachep, GFP_NOFS); in ext4_mb_new_inode_pa()
3636 if (pa == NULL) in ext4_mb_new_inode_pa()
3677 pa->pa_lstart = ac->ac_b_ex.fe_logical; in ext4_mb_new_inode_pa()
3678 pa->pa_pstart = ext4_grp_offs_to_block(sb, &ac->ac_b_ex); in ext4_mb_new_inode_pa()
3679 pa->pa_len = ac->ac_b_ex.fe_len; in ext4_mb_new_inode_pa()
3680 pa->pa_free = pa->pa_len; in ext4_mb_new_inode_pa()
3681 atomic_set(&pa->pa_count, 1); in ext4_mb_new_inode_pa()
3682 spin_lock_init(&pa->pa_lock); in ext4_mb_new_inode_pa()
3683 INIT_LIST_HEAD(&pa->pa_inode_list); in ext4_mb_new_inode_pa()
3684 INIT_LIST_HEAD(&pa->pa_group_list); in ext4_mb_new_inode_pa()
3685 pa->pa_deleted = 0; in ext4_mb_new_inode_pa()
3686 pa->pa_type = MB_INODE_PA; in ext4_mb_new_inode_pa()
3688 mb_debug(1, "new inode pa %p: %llu/%u for %u\n", pa, in ext4_mb_new_inode_pa()
3689 pa->pa_pstart, pa->pa_len, pa->pa_lstart); in ext4_mb_new_inode_pa()
3690 trace_ext4_mb_new_inode_pa(ac, pa); in ext4_mb_new_inode_pa()
3692 ext4_mb_use_inode_pa(ac, pa); in ext4_mb_new_inode_pa()
3693 atomic_add(pa->pa_free, &sbi->s_mb_preallocated); in ext4_mb_new_inode_pa()
3698 pa->pa_obj_lock = &ei->i_prealloc_lock; in ext4_mb_new_inode_pa()
3699 pa->pa_inode = ac->ac_inode; in ext4_mb_new_inode_pa()
3702 list_add(&pa->pa_group_list, &grp->bb_prealloc_list); in ext4_mb_new_inode_pa()
3705 spin_lock(pa->pa_obj_lock); in ext4_mb_new_inode_pa()
3706 list_add_rcu(&pa->pa_inode_list, &ei->i_prealloc_list); in ext4_mb_new_inode_pa()
3707 spin_unlock(pa->pa_obj_lock); in ext4_mb_new_inode_pa()
3720 struct ext4_prealloc_space *pa; in ext4_mb_new_group_pa() local
3729 pa = kmem_cache_alloc(ext4_pspace_cachep, GFP_NOFS); in ext4_mb_new_group_pa()
3730 if (pa == NULL) in ext4_mb_new_group_pa()
3737 pa->pa_pstart = ext4_grp_offs_to_block(sb, &ac->ac_b_ex); in ext4_mb_new_group_pa()
3738 pa->pa_lstart = pa->pa_pstart; in ext4_mb_new_group_pa()
3739 pa->pa_len = ac->ac_b_ex.fe_len; in ext4_mb_new_group_pa()
3740 pa->pa_free = pa->pa_len; in ext4_mb_new_group_pa()
3741 atomic_set(&pa->pa_count, 1); in ext4_mb_new_group_pa()
3742 spin_lock_init(&pa->pa_lock); in ext4_mb_new_group_pa()
3743 INIT_LIST_HEAD(&pa->pa_inode_list); in ext4_mb_new_group_pa()
3744 INIT_LIST_HEAD(&pa->pa_group_list); in ext4_mb_new_group_pa()
3745 pa->pa_deleted = 0; in ext4_mb_new_group_pa()
3746 pa->pa_type = MB_GROUP_PA; in ext4_mb_new_group_pa()
3748 mb_debug(1, "new group pa %p: %llu/%u for %u\n", pa, in ext4_mb_new_group_pa()
3749 pa->pa_pstart, pa->pa_len, pa->pa_lstart); in ext4_mb_new_group_pa()
3750 trace_ext4_mb_new_group_pa(ac, pa); in ext4_mb_new_group_pa()
3752 ext4_mb_use_group_pa(ac, pa); in ext4_mb_new_group_pa()
3753 atomic_add(pa->pa_free, &EXT4_SB(sb)->s_mb_preallocated); in ext4_mb_new_group_pa()
3759 pa->pa_obj_lock = &lg->lg_prealloc_lock; in ext4_mb_new_group_pa()
3760 pa->pa_inode = NULL; in ext4_mb_new_group_pa()
3763 list_add(&pa->pa_group_list, &grp->bb_prealloc_list); in ext4_mb_new_group_pa()
3794 struct ext4_prealloc_space *pa) in ext4_mb_release_inode_pa() argument
3806 BUG_ON(pa->pa_deleted == 0); in ext4_mb_release_inode_pa()
3807 ext4_get_group_no_and_offset(sb, pa->pa_pstart, &group, &bit); in ext4_mb_release_inode_pa()
3808 grp_blk_start = pa->pa_pstart - EXT4_C2B(sbi, bit); in ext4_mb_release_inode_pa()
3809 BUG_ON(group != e4b->bd_group && pa->pa_len != 0); in ext4_mb_release_inode_pa()
3810 end = bit + pa->pa_len; in ext4_mb_release_inode_pa()
3823 trace_ext4_mb_release_inode_pa(pa, (grp_blk_start + in ext4_mb_release_inode_pa()
3826 mb_free_blocks(pa->pa_inode, e4b, bit, next - bit); in ext4_mb_release_inode_pa()
3829 if (free != pa->pa_free) { in ext4_mb_release_inode_pa()
3832 pa, (unsigned long) pa->pa_lstart, in ext4_mb_release_inode_pa()
3833 (unsigned long) pa->pa_pstart, in ext4_mb_release_inode_pa()
3834 (unsigned long) pa->pa_len); in ext4_mb_release_inode_pa()
3836 free, pa->pa_free); in ext4_mb_release_inode_pa()
3849 struct ext4_prealloc_space *pa) in ext4_mb_release_group_pa() argument
3855 trace_ext4_mb_release_group_pa(sb, pa); in ext4_mb_release_group_pa()
3856 BUG_ON(pa->pa_deleted == 0); in ext4_mb_release_group_pa()
3857 ext4_get_group_no_and_offset(sb, pa->pa_pstart, &group, &bit); in ext4_mb_release_group_pa()
3858 BUG_ON(group != e4b->bd_group && pa->pa_len != 0); in ext4_mb_release_group_pa()
3859 mb_free_blocks(pa->pa_inode, e4b, bit, pa->pa_len); in ext4_mb_release_group_pa()
3860 atomic_add(pa->pa_len, &EXT4_SB(sb)->s_mb_discarded); in ext4_mb_release_group_pa()
3861 trace_ext4_mballoc_discard(sb, NULL, group, bit, pa->pa_len); in ext4_mb_release_group_pa()
3881 struct ext4_prealloc_space *pa, *tmp; in ext4_mb_discard_group_preallocations() local
3915 list_for_each_entry_safe(pa, tmp, in ext4_mb_discard_group_preallocations()
3917 spin_lock(&pa->pa_lock); in ext4_mb_discard_group_preallocations()
3918 if (atomic_read(&pa->pa_count)) { in ext4_mb_discard_group_preallocations()
3919 spin_unlock(&pa->pa_lock); in ext4_mb_discard_group_preallocations()
3923 if (pa->pa_deleted) { in ext4_mb_discard_group_preallocations()
3924 spin_unlock(&pa->pa_lock); in ext4_mb_discard_group_preallocations()
3929 pa->pa_deleted = 1; in ext4_mb_discard_group_preallocations()
3932 free += pa->pa_free; in ext4_mb_discard_group_preallocations()
3934 spin_unlock(&pa->pa_lock); in ext4_mb_discard_group_preallocations()
3936 list_del(&pa->pa_group_list); in ext4_mb_discard_group_preallocations()
3937 list_add(&pa->u.pa_tmp_list, &list); in ext4_mb_discard_group_preallocations()
3955 list_for_each_entry_safe(pa, tmp, &list, u.pa_tmp_list) { in ext4_mb_discard_group_preallocations()
3958 spin_lock(pa->pa_obj_lock); in ext4_mb_discard_group_preallocations()
3959 list_del_rcu(&pa->pa_inode_list); in ext4_mb_discard_group_preallocations()
3960 spin_unlock(pa->pa_obj_lock); in ext4_mb_discard_group_preallocations()
3962 if (pa->pa_type == MB_GROUP_PA) in ext4_mb_discard_group_preallocations()
3963 ext4_mb_release_group_pa(&e4b, pa); in ext4_mb_discard_group_preallocations()
3965 ext4_mb_release_inode_pa(&e4b, bitmap_bh, pa); in ext4_mb_discard_group_preallocations()
3967 list_del(&pa->u.pa_tmp_list); in ext4_mb_discard_group_preallocations()
3968 call_rcu(&(pa)->u.pa_rcu, ext4_mb_pa_callback); in ext4_mb_discard_group_preallocations()
3992 struct ext4_prealloc_space *pa, *tmp; in ext4_discard_preallocations() local
4012 pa = list_entry(ei->i_prealloc_list.next, in ext4_discard_preallocations()
4014 BUG_ON(pa->pa_obj_lock != &ei->i_prealloc_lock); in ext4_discard_preallocations()
4015 spin_lock(&pa->pa_lock); in ext4_discard_preallocations()
4016 if (atomic_read(&pa->pa_count)) { in ext4_discard_preallocations()
4019 spin_unlock(&pa->pa_lock); in ext4_discard_preallocations()
4028 if (pa->pa_deleted == 0) { in ext4_discard_preallocations()
4029 pa->pa_deleted = 1; in ext4_discard_preallocations()
4030 spin_unlock(&pa->pa_lock); in ext4_discard_preallocations()
4031 list_del_rcu(&pa->pa_inode_list); in ext4_discard_preallocations()
4032 list_add(&pa->u.pa_tmp_list, &list); in ext4_discard_preallocations()
4037 spin_unlock(&pa->pa_lock); in ext4_discard_preallocations()
4057 list_for_each_entry_safe(pa, tmp, &list, u.pa_tmp_list) { in ext4_discard_preallocations()
4058 BUG_ON(pa->pa_type != MB_INODE_PA); in ext4_discard_preallocations()
4059 group = ext4_get_group_number(sb, pa->pa_pstart); in ext4_discard_preallocations()
4079 list_del(&pa->pa_group_list); in ext4_discard_preallocations()
4080 ext4_mb_release_inode_pa(&e4b, bitmap_bh, pa); in ext4_discard_preallocations()
4086 list_del(&pa->u.pa_tmp_list); in ext4_discard_preallocations()
4087 call_rcu(&(pa)->u.pa_rcu, ext4_mb_pa_callback); in ext4_discard_preallocations()
4126 struct ext4_prealloc_space *pa; in ext4_mb_show_ac() local
4131 pa = list_entry(cur, struct ext4_prealloc_space, in ext4_mb_show_ac()
4133 spin_lock(&pa->pa_lock); in ext4_mb_show_ac()
4134 ext4_get_group_no_and_offset(sb, pa->pa_pstart, in ext4_mb_show_ac()
4136 spin_unlock(&pa->pa_lock); in ext4_mb_show_ac()
4138 start, pa->pa_len); in ext4_mb_show_ac()
4274 struct ext4_prealloc_space *pa, *tmp; in ext4_mb_discard_lg_preallocations() local
4281 list_for_each_entry_rcu(pa, &lg->lg_prealloc_list[order], in ext4_mb_discard_lg_preallocations()
4283 spin_lock(&pa->pa_lock); in ext4_mb_discard_lg_preallocations()
4284 if (atomic_read(&pa->pa_count)) { in ext4_mb_discard_lg_preallocations()
4290 spin_unlock(&pa->pa_lock); in ext4_mb_discard_lg_preallocations()
4293 if (pa->pa_deleted) { in ext4_mb_discard_lg_preallocations()
4294 spin_unlock(&pa->pa_lock); in ext4_mb_discard_lg_preallocations()
4298 BUG_ON(pa->pa_type != MB_GROUP_PA); in ext4_mb_discard_lg_preallocations()
4301 pa->pa_deleted = 1; in ext4_mb_discard_lg_preallocations()
4302 spin_unlock(&pa->pa_lock); in ext4_mb_discard_lg_preallocations()
4304 list_del_rcu(&pa->pa_inode_list); in ext4_mb_discard_lg_preallocations()
4305 list_add(&pa->u.pa_tmp_list, &discard_list); in ext4_mb_discard_lg_preallocations()
4320 list_for_each_entry_safe(pa, tmp, &discard_list, u.pa_tmp_list) { in ext4_mb_discard_lg_preallocations()
4323 group = ext4_get_group_number(sb, pa->pa_pstart); in ext4_mb_discard_lg_preallocations()
4332 list_del(&pa->pa_group_list); in ext4_mb_discard_lg_preallocations()
4333 ext4_mb_release_group_pa(&e4b, pa); in ext4_mb_discard_lg_preallocations()
4337 list_del(&pa->u.pa_tmp_list); in ext4_mb_discard_lg_preallocations()
4338 call_rcu(&(pa)->u.pa_rcu, ext4_mb_pa_callback); in ext4_mb_discard_lg_preallocations()
4356 struct ext4_prealloc_space *tmp_pa, *pa = ac->ac_pa; in ext4_mb_add_n_trim() local
4358 order = fls(pa->pa_free) - 1; in ext4_mb_add_n_trim()
4371 if (!added && pa->pa_free < tmp_pa->pa_free) { in ext4_mb_add_n_trim()
4373 list_add_tail_rcu(&pa->pa_inode_list, in ext4_mb_add_n_trim()
4385 list_add_tail_rcu(&pa->pa_inode_list, in ext4_mb_add_n_trim()
4404 struct ext4_prealloc_space *pa = ac->ac_pa; in ext4_mb_release_context() local
4405 if (pa) { in ext4_mb_release_context()
4406 if (pa->pa_type == MB_GROUP_PA) { in ext4_mb_release_context()
4408 spin_lock(&pa->pa_lock); in ext4_mb_release_context()
4409 pa->pa_pstart += EXT4_C2B(sbi, ac->ac_b_ex.fe_len); in ext4_mb_release_context()
4410 pa->pa_lstart += EXT4_C2B(sbi, ac->ac_b_ex.fe_len); in ext4_mb_release_context()
4411 pa->pa_free -= ac->ac_b_ex.fe_len; in ext4_mb_release_context()
4412 pa->pa_len -= ac->ac_b_ex.fe_len; in ext4_mb_release_context()
4413 spin_unlock(&pa->pa_lock); in ext4_mb_release_context()
4416 if (pa) { in ext4_mb_release_context()
4423 if ((pa->pa_type == MB_GROUP_PA) && likely(pa->pa_free)) { in ext4_mb_release_context()
4424 spin_lock(pa->pa_obj_lock); in ext4_mb_release_context()
4425 list_del_rcu(&pa->pa_inode_list); in ext4_mb_release_context()
4426 spin_unlock(pa->pa_obj_lock); in ext4_mb_release_context()
4429 ext4_mb_put_pa(ac, ac->ac_sb, pa); in ext4_mb_release_context()