Lines Matching refs:agbno

38 		xfs_agblock_t agbno, xfs_extlen_t aglen);
40 xfs_agblock_t agbno, xfs_extlen_t aglen);
379 * Split a refcount extent that crosses agbno.
385 xfs_agblock_t agbno,
393 error = xfs_refcount_lookup_le(cur, domain, agbno, &found_rec);
408 if (rcext.rc_startblock == agbno || xfs_refc_next(&rcext) <= agbno)
413 &rcext, agbno);
417 tmp.rc_startblock = agbno;
418 tmp.rc_blockcount -= (agbno - rcext.rc_startblock);
425 tmp.rc_blockcount = agbno - rcext.rc_startblock;
529 xfs_agblock_t *agbno,
540 /* If the extent at agbno (cleft) wasn't synthesized, remove it. */
575 *agbno += cleft->rc_blockcount;
604 * If the extent ending at agbno+aglen (cright) wasn't synthesized,
653 * that we've already split any extent crossing agbno.
661 xfs_agblock_t agbno,
669 error = xfs_refcount_lookup_le(cur, domain, agbno - 1, &found_rec);
685 if (xfs_refc_next(&tmp) != agbno)
706 if (tmp.rc_startblock == agbno)
713 * We assume here that the agbno/aglen range was
717 cleft->rc_startblock = agbno;
719 tmp.rc_startblock - agbno);
729 cleft->rc_startblock = agbno;
735 left, cleft, agbno);
746 * assumes that we've already split any extents crossing agbno + aglen.
754 xfs_agblock_t agbno,
762 error = xfs_refcount_lookup_ge(cur, domain, agbno + aglen, &found_rec);
778 if (tmp.rc_startblock != agbno + aglen)
799 if (xfs_refc_next(&tmp) == agbno + aglen)
806 * We assume here that the agbno/aglen range was
810 cright->rc_startblock = max(agbno, xfs_refc_next(&tmp));
822 cright->rc_startblock = agbno;
828 cright, right, agbno + aglen);
977 xfs_agblock_t *agbno,
990 * Find the extent just below agbno [left], just above agbno [cleft],
991 * just below (agbno + aglen) [cright], and just above (agbno + aglen)
995 *agbno, *aglen);
999 *agbno, *aglen);
1022 agbno, aglen);
1085 * extents; and updated agbno/aglen to reflect the merges. Therefore,
1086 * all we have to do is update the extents inside [agbno, agbno + aglen].
1091 xfs_agblock_t *agbno,
1104 error = xfs_refcount_lookup_ge(cur, XFS_REFC_DOMAIN_SHARED, *agbno,
1125 if (ext.rc_startblock != *agbno) {
1126 tmp.rc_startblock = *agbno;
1128 ext.rc_startblock - *agbno);
1161 (*agbno) += tmp.rc_blockcount;
1170 XFS_REFC_DOMAIN_SHARED, *agbno,
1177 * A previous step trimmed agbno/aglen such that the end of the
1229 (*agbno) += ext.rc_blockcount;
1244 xfs_agblock_t *agbno,
1254 cur->bc_ag.pag->pag_agno, *agbno, *aglen);
1257 cur->bc_ag.pag->pag_agno, *agbno, *aglen);
1263 *agbno, &shape_changed);
1270 *agbno + *aglen, &shape_changed);
1280 agbno, aglen, adj, &shape_changed);
1289 error = xfs_refcount_adjust_extents(cur, agbno, aglen, adj);
1505 xfs_agblock_t agbno,
1517 agbno, aglen);
1524 error = xfs_refcount_lookup_le(cur, XFS_REFC_DOMAIN_SHARED, agbno,
1547 if (tmp.rc_startblock + tmp.rc_blockcount <= agbno) {
1565 if (tmp.rc_startblock >= agbno + aglen)
1569 if (tmp.rc_startblock < agbno) {
1570 tmp.rc_blockcount -= (agbno - tmp.rc_startblock);
1571 tmp.rc_startblock = agbno;
1575 *flen = min(tmp.rc_blockcount, agbno + aglen - *fbno);
1580 while (*fbno + *flen < agbno + aglen) {
1594 tmp.rc_startblock >= agbno + aglen ||
1597 *flen = min(*flen + tmp.rc_blockcount, agbno + aglen - *fbno);
1666 xfs_agblock_t agbno,
1678 error = xfs_refcount_lookup_ge(cur, XFS_REFC_DOMAIN_COW, agbno,
1701 agbno + aglen > ext.rc_startblock)) {
1706 tmp.rc_startblock = agbno;
1725 if (XFS_IS_CORRUPT(cur->bc_mp, ext.rc_startblock != agbno)) {
1766 xfs_agblock_t agbno,
1777 agbno, &shape_changed);
1782 agbno + aglen, &shape_changed);
1789 error = xfs_refcount_merge_extents(cur, XFS_REFC_DOMAIN_COW, &agbno,
1795 error = xfs_refcount_adjust_cow_extents(cur, agbno, aglen, adj);
1813 xfs_agblock_t agbno,
1817 agbno, aglen);
1820 return xfs_refcount_adjust_cow(rcur, agbno, aglen,
1830 xfs_agblock_t agbno,
1834 agbno, aglen);
1837 return xfs_refcount_adjust_cow(rcur, agbno, aglen,