Lines Matching defs:acur

813 	struct xfs_alloc_cur	*acur)
818 acur->cur_len = args->maxlen;
819 acur->rec_bno = 0;
820 acur->rec_len = 0;
821 acur->bno = 0;
822 acur->len = 0;
823 acur->diff = -1;
824 acur->busy = false;
825 acur->busy_gen = 0;
832 if (!acur->cnt)
833 acur->cnt = xfs_allocbt_init_cursor(args->mp, args->tp,
835 error = xfs_alloc_lookup_ge(acur->cnt, 0, args->maxlen, &i);
842 if (!acur->bnolt)
843 acur->bnolt = xfs_allocbt_init_cursor(args->mp, args->tp,
845 if (!acur->bnogt)
846 acur->bnogt = xfs_allocbt_init_cursor(args->mp, args->tp,
853 struct xfs_alloc_cur *acur,
861 if (acur->cnt)
862 xfs_btree_del_cursor(acur->cnt, cur_error);
863 if (acur->bnolt)
864 xfs_btree_del_cursor(acur->bnolt, cur_error);
865 if (acur->bnogt)
866 xfs_btree_del_cursor(acur->bnogt, cur_error);
867 acur->cnt = acur->bnolt = acur->bnogt = NULL;
879 struct xfs_alloc_cur *acur,
910 acur->busy |= busy;
912 acur->busy_gen = busy_gen;
924 if (args->len < acur->len)
940 if (diff > acur->diff) {
945 ASSERT(args->len > acur->len ||
946 (args->len == acur->len && diff <= acur->diff));
947 acur->rec_bno = bno;
948 acur->rec_len = len;
949 acur->bno = bnew;
950 acur->len = args->len;
951 acur->diff = diff;
959 if (acur->diff == 0 && acur->len == args->maxlen)
976 struct xfs_alloc_cur *acur)
981 ASSERT(acur->cnt && acur->bnolt);
982 ASSERT(acur->bno >= acur->rec_bno);
983 ASSERT(acur->bno + acur->len <= acur->rec_bno + acur->rec_len);
984 ASSERT(acur->rec_bno + acur->rec_len <= be32_to_cpu(agf->agf_length));
986 error = xfs_alloc_fixup_trees(acur->cnt, acur->bnolt, acur->rec_bno,
987 acur->rec_len, acur->bno, acur->len, 0);
991 args->agbno = acur->bno;
992 args->len = acur->len;
1006 struct xfs_alloc_cur *acur)
1008 struct xfs_btree_cur *cur = acur->cnt;
1018 cur_len = acur->cur_len;
1029 error = xfs_alloc_cur_check(args, acur, cur, &i);
1032 ASSERT(len >= acur->cur_len);
1033 acur->cur_len = len;
1046 if (!error && i && len == acur->cur_len)
1047 error = xfs_alloc_cur_check(args, acur, cur,
1061 if (!acur->len || acur->cur_len >= cur_len)
1062 acur->cur_len++;
1064 acur->cur_len = cur_len;
1299 struct xfs_alloc_cur *acur,
1317 error = xfs_alloc_cur_check(args, acur, cur, &i);
1351 struct xfs_alloc_cur *acur,
1359 ASSERT(acur->len == 0);
1363 error = xfs_alloc_lookup_ge(acur->cnt, args->agbno, acur->cur_len, &i);
1366 error = xfs_alloc_lookup_le(acur->bnolt, args->agbno, 0, &i);
1369 error = xfs_alloc_lookup_ge(acur->bnogt, args->agbno, 0, &i);
1395 while (xfs_alloc_cur_active(acur->bnolt) ||
1396 xfs_alloc_cur_active(acur->bnogt) ||
1397 xfs_alloc_cur_active(acur->cnt)) {
1405 error = xfs_alloc_walk_iter(args, acur, acur->bnolt, false,
1411 fbcur = acur->bnogt;
1415 error = xfs_alloc_walk_iter(args, acur, acur->bnogt, true, true,
1421 fbcur = acur->bnolt;
1430 error = xfs_alloc_cntbt_iter(args, acur);
1433 if (!xfs_alloc_cur_active(acur->cnt)) {
1444 if (!xfs_alloc_cur_active(acur->cnt) && !acur->len && !acur->busy) {
1445 error = xfs_btree_decrement(acur->cnt, 0, &i);
1449 acur->cnt->bc_ag.abt.active = true;
1450 fbcur = acur->cnt;
1460 error = xfs_alloc_walk_iter(args, acur, fbcur, fbinc, true, -1,
1466 if (acur->len)
1476 struct xfs_alloc_cur *acur,
1497 acur->cnt->bc_levels[0].ptr = 1;
1499 error = xfs_alloc_get_rec(acur->cnt, bno, len, &i);
1506 error = xfs_btree_increment(acur->cnt, 0, &i);
1515 error = xfs_alloc_walk_iter(args, acur, acur->cnt, true, false, -1, &i);
1523 if (acur->len == 0)
1542 struct xfs_alloc_cur acur = {};
1569 error = xfs_alloc_cur_setup(args, &acur);
1571 error = xfs_alloc_ag_vextent_small(args, acur.cnt, &bno,
1592 if (xfs_btree_islastblock(acur.cnt, 0)) {
1595 error = xfs_alloc_ag_vextent_lastblock(args, &acur, &bno, &len,
1607 error = xfs_alloc_ag_vextent_locality(args, &acur, &i);
1614 if (!acur.len) {
1615 if (acur.busy) {
1625 acur.busy_gen, alloc_flags);
1639 error = xfs_alloc_cur_finish(args, &acur);
1642 xfs_alloc_cur_close(&acur, error);