Lines Matching refs:busyp
2578 struct xfs_busy_extent *busyp;
2612 busyp = NULL;
2616 busyp = rb_entry(parent, struct xfs_busy_extent, rb_node);
2618 if (new->bno < busyp->bno) {
2621 if (new->bno + new->length > busyp->bno)
2622 match = busyp->tid == new->tid ? 1 : -1;
2623 } else if (new->bno > busyp->bno) {
2626 if (bno < busyp->bno + busyp->length)
2627 match = busyp->tid == new->tid ? 1 : -1;
2629 match = busyp->tid == new->tid ? 1 : -1;
2645 if (busyp->bno == new->bno) {
2646 busyp->length = max(busyp->length, new->length);
2653 rb_erase(&busyp->rb_node, &pag->pagb_tree);
2654 new->length = max(busyp->bno + busyp->length,
2656 min(busyp->bno, new->bno);
2657 new->bno = min(busyp->bno, new->bno);
2659 busyp = NULL;
2667 kmem_free(busyp);
2688 struct xfs_busy_extent *busyp;
2698 busyp = rb_entry(rbp, struct xfs_busy_extent, rb_node);
2699 if (bno < busyp->bno) {
2701 if (bno + len > busyp->bno)
2704 } else if (bno > busyp->bno) {
2706 if (bno < busyp->bno + busyp->length)
2710 /* bno matches busyp, length determines exact match */
2711 match = (busyp->length == len) ? 1 : -1;
2724 struct xfs_busy_extent *busyp)
2728 trace_xfs_alloc_unbusy(mp, busyp->agno, busyp->bno,
2729 busyp->length);
2731 ASSERT(xfs_alloc_busy_search(mp, busyp->agno, busyp->bno,
2732 busyp->length) == 1);
2734 list_del_init(&busyp->list);
2736 pag = xfs_perag_get(mp, busyp->agno);
2738 rb_erase(&busyp->rb_node, &pag->pagb_tree);
2742 kmem_free(busyp);