Lines Matching refs:ar
3062 struct ext4_allocation_request *ar) in ext4_mb_normalize_request() argument
3147 if (ar->pleft && start <= ar->lleft) { in ext4_mb_normalize_request()
3148 size -= ar->lleft + 1 - start; in ext4_mb_normalize_request()
3149 start = ar->lleft + 1; in ext4_mb_normalize_request()
3151 if (ar->pright && start + size - 1 >= ar->lright) in ext4_mb_normalize_request()
3152 size -= start + size - ar->lright; in ext4_mb_normalize_request()
3236 if (ar->pright && (ar->lright == (start + size))) { in ext4_mb_normalize_request()
3238 ext4_get_group_no_and_offset(ac->ac_sb, ar->pright - size, in ext4_mb_normalize_request()
3243 if (ar->pleft && (ar->lleft + 1 == start)) { in ext4_mb_normalize_request()
3245 ext4_get_group_no_and_offset(ac->ac_sb, ar->pleft + 1, in ext4_mb_normalize_request()
4216 struct ext4_allocation_request *ar) in ext4_mb_initialize_context() argument
4218 struct super_block *sb = ar->inode->i_sb; in ext4_mb_initialize_context()
4227 len = ar->len; in ext4_mb_initialize_context()
4234 goal = ar->goal; in ext4_mb_initialize_context()
4241 ac->ac_b_ex.fe_logical = EXT4_LBLK_CMASK(sbi, ar->logical); in ext4_mb_initialize_context()
4244 ac->ac_inode = ar->inode; in ext4_mb_initialize_context()
4250 ac->ac_flags = ar->flags; in ext4_mb_initialize_context()
4258 (unsigned) ar->len, (unsigned) ar->logical, in ext4_mb_initialize_context()
4259 (unsigned) ar->goal, ac->ac_flags, ac->ac_2order, in ext4_mb_initialize_context()
4260 (unsigned) ar->lleft, (unsigned) ar->pleft, in ext4_mb_initialize_context()
4261 (unsigned) ar->lright, (unsigned) ar->pright, in ext4_mb_initialize_context()
4262 inode_is_open_for_write(ar->inode) ? "" : "non-"); in ext4_mb_initialize_context()
4464 struct ext4_allocation_request *ar, int *errp) in ext4_mb_new_blocks() argument
4475 sb = ar->inode->i_sb; in ext4_mb_new_blocks()
4478 trace_ext4_request_blocks(ar); in ext4_mb_new_blocks()
4481 if (ext4_is_quota_file(ar->inode)) in ext4_mb_new_blocks()
4482 ar->flags |= EXT4_MB_USE_ROOT_BLOCKS; in ext4_mb_new_blocks()
4484 if ((ar->flags & EXT4_MB_DELALLOC_RESERVED) == 0) { in ext4_mb_new_blocks()
4489 while (ar->len && in ext4_mb_new_blocks()
4490 ext4_claim_free_clusters(sbi, ar->len, ar->flags)) { in ext4_mb_new_blocks()
4494 ar->len = ar->len >> 1; in ext4_mb_new_blocks()
4496 if (!ar->len) { in ext4_mb_new_blocks()
4500 reserv_clstrs = ar->len; in ext4_mb_new_blocks()
4501 if (ar->flags & EXT4_MB_USE_ROOT_BLOCKS) { in ext4_mb_new_blocks()
4502 dquot_alloc_block_nofail(ar->inode, in ext4_mb_new_blocks()
4503 EXT4_C2B(sbi, ar->len)); in ext4_mb_new_blocks()
4505 while (ar->len && in ext4_mb_new_blocks()
4506 dquot_alloc_block(ar->inode, in ext4_mb_new_blocks()
4507 EXT4_C2B(sbi, ar->len))) { in ext4_mb_new_blocks()
4509 ar->flags |= EXT4_MB_HINT_NOPREALLOC; in ext4_mb_new_blocks()
4510 ar->len--; in ext4_mb_new_blocks()
4513 inquota = ar->len; in ext4_mb_new_blocks()
4514 if (ar->len == 0) { in ext4_mb_new_blocks()
4522 ar->len = 0; in ext4_mb_new_blocks()
4527 *errp = ext4_mb_initialize_context(ac, ar); in ext4_mb_new_blocks()
4529 ar->len = 0; in ext4_mb_new_blocks()
4536 ext4_mb_normalize_request(ac, ar); in ext4_mb_new_blocks()
4562 ar->len = ac->ac_b_ex.fe_len; in ext4_mb_new_blocks()
4574 ar->len = 0; in ext4_mb_new_blocks()
4581 if (inquota && ar->len < inquota) in ext4_mb_new_blocks()
4582 dquot_free_block(ar->inode, EXT4_C2B(sbi, inquota - ar->len)); in ext4_mb_new_blocks()
4583 if (!ar->len) { in ext4_mb_new_blocks()
4584 if ((ar->flags & EXT4_MB_DELALLOC_RESERVED) == 0) in ext4_mb_new_blocks()
4590 trace_ext4_allocate_blocks(ar, (unsigned long long)block); in ext4_mb_new_blocks()