Lines Matching defs:acur

757 	struct xfs_alloc_cur	*acur)
764 acur->cur_len = args->maxlen;
765 acur->rec_bno = 0;
766 acur->rec_len = 0;
767 acur->bno = 0;
768 acur->len = 0;
769 acur->diff = -1;
770 acur->busy = false;
771 acur->busy_gen = 0;
778 if (!acur->cnt)
779 acur->cnt = xfs_allocbt_init_cursor(args->mp, args->tp,
781 error = xfs_alloc_lookup_ge(acur->cnt, 0, args->maxlen, &i);
788 if (!acur->bnolt)
789 acur->bnolt = xfs_allocbt_init_cursor(args->mp, args->tp,
791 if (!acur->bnogt)
792 acur->bnogt = xfs_allocbt_init_cursor(args->mp, args->tp,
799 struct xfs_alloc_cur *acur,
807 if (acur->cnt)
808 xfs_btree_del_cursor(acur->cnt, cur_error);
809 if (acur->bnolt)
810 xfs_btree_del_cursor(acur->bnolt, cur_error);
811 if (acur->bnogt)
812 xfs_btree_del_cursor(acur->bnogt, cur_error);
813 acur->cnt = acur->bnolt = acur->bnogt = NULL;
825 struct xfs_alloc_cur *acur,
856 acur->busy |= busy;
858 acur->busy_gen = busy_gen;
870 if (args->len < acur->len)
887 if (diff > acur->diff) {
892 ASSERT(args->len > acur->len ||
893 (args->len == acur->len && diff <= acur->diff));
894 acur->rec_bno = bno;
895 acur->rec_len = len;
896 acur->bno = bnew;
897 acur->len = args->len;
898 acur->diff = diff;
906 if (acur->diff == 0 && acur->len == args->maxlen)
923 struct xfs_alloc_cur *acur)
928 ASSERT(acur->cnt && acur->bnolt);
929 ASSERT(acur->bno >= acur->rec_bno);
930 ASSERT(acur->bno + acur->len <= acur->rec_bno + acur->rec_len);
931 ASSERT(acur->rec_bno + acur->rec_len <= be32_to_cpu(agf->agf_length));
933 error = xfs_alloc_fixup_trees(acur->cnt, acur->bnolt, acur->rec_bno,
934 acur->rec_len, acur->bno, acur->len, 0);
938 args->agbno = acur->bno;
939 args->len = acur->len;
953 struct xfs_alloc_cur *acur)
955 struct xfs_btree_cur *cur = acur->cnt;
965 cur_len = acur->cur_len;
976 error = xfs_alloc_cur_check(args, acur, cur, &i);
979 ASSERT(len >= acur->cur_len);
980 acur->cur_len = len;
993 if (!error && i && len == acur->cur_len)
994 error = xfs_alloc_cur_check(args, acur, cur,
1008 if (!acur->len || acur->cur_len >= cur_len)
1009 acur->cur_len++;
1011 acur->cur_len = cur_len;
1317 struct xfs_alloc_cur *acur,
1335 error = xfs_alloc_cur_check(args, acur, cur, &i);
1369 struct xfs_alloc_cur *acur,
1377 ASSERT(acur->len == 0);
1382 error = xfs_alloc_lookup_ge(acur->cnt, args->agbno, acur->cur_len, &i);
1385 error = xfs_alloc_lookup_le(acur->bnolt, args->agbno, 0, &i);
1388 error = xfs_alloc_lookup_ge(acur->bnogt, args->agbno, 0, &i);
1414 while (xfs_alloc_cur_active(acur->bnolt) ||
1415 xfs_alloc_cur_active(acur->bnogt) ||
1416 xfs_alloc_cur_active(acur->cnt)) {
1424 error = xfs_alloc_walk_iter(args, acur, acur->bnolt, false,
1430 fbcur = acur->bnogt;
1434 error = xfs_alloc_walk_iter(args, acur, acur->bnogt, true, true,
1440 fbcur = acur->bnolt;
1449 error = xfs_alloc_cntbt_iter(args, acur);
1452 if (!xfs_alloc_cur_active(acur->cnt)) {
1463 if (!xfs_alloc_cur_active(acur->cnt) && !acur->len && !acur->busy) {
1464 error = xfs_btree_decrement(acur->cnt, 0, &i);
1468 acur->cnt->bc_ag.abt.active = true;
1469 fbcur = acur->cnt;
1479 error = xfs_alloc_walk_iter(args, acur, fbcur, fbinc, true, -1,
1485 if (acur->len)
1495 struct xfs_alloc_cur *acur,
1516 acur->cnt->bc_ptrs[0] = 1;
1518 error = xfs_alloc_get_rec(acur->cnt, bno, len, &i);
1525 error = xfs_btree_increment(acur->cnt, 0, &i);
1534 error = xfs_alloc_walk_iter(args, acur, acur->cnt, true, false, -1, &i);
1542 if (acur->len == 0)
1560 struct xfs_alloc_cur acur = {};
1585 error = xfs_alloc_cur_setup(args, &acur);
1587 error = xfs_alloc_ag_vextent_small(args, acur.cnt, &bno,
1608 if (xfs_btree_islastblock(acur.cnt, 0)) {
1611 error = xfs_alloc_ag_vextent_lastblock(args, &acur, &bno, &len,
1623 error = xfs_alloc_ag_vextent_locality(args, &acur, &i);
1630 if (!acur.len) {
1631 if (acur.busy) {
1634 acur.busy_gen);
1644 error = xfs_alloc_cur_finish(args, &acur);
1647 xfs_alloc_cur_close(&acur, error);