Lines Matching defs:rlist
2554 * @rlist: the list of resource groups
2563 void gfs2_rlist_add(struct gfs2_inode *ip, struct gfs2_rgrp_list *rlist,
2572 if (gfs2_assert_warn(sdp, !rlist->rl_ghs))
2579 if (rlist->rl_rgrps) {
2580 rgd = rlist->rl_rgd[rlist->rl_rgrps - 1];
2596 for (x = 0; x < rlist->rl_rgrps; x++) {
2597 if (rlist->rl_rgd[x] == rgd) {
2598 swap(rlist->rl_rgd[x],
2599 rlist->rl_rgd[rlist->rl_rgrps - 1]);
2604 if (rlist->rl_rgrps == rlist->rl_space) {
2605 new_space = rlist->rl_space + 10;
2610 if (rlist->rl_rgd) {
2611 memcpy(tmp, rlist->rl_rgd,
2612 rlist->rl_space * sizeof(struct gfs2_rgrpd *));
2613 kfree(rlist->rl_rgd);
2616 rlist->rl_space = new_space;
2617 rlist->rl_rgd = tmp;
2620 rlist->rl_rgd[rlist->rl_rgrps++] = rgd;
2624 * gfs2_rlist_alloc - all RGs have been added to the rlist, now allocate
2626 * @rlist: the list of resource groups
2632 void gfs2_rlist_alloc(struct gfs2_rgrp_list *rlist)
2636 rlist->rl_ghs = kmalloc_array(rlist->rl_rgrps,
2639 for (x = 0; x < rlist->rl_rgrps; x++)
2640 gfs2_holder_init(rlist->rl_rgd[x]->rd_gl,
2642 &rlist->rl_ghs[x]);
2647 * @rlist: the list of resource groups
2651 void gfs2_rlist_free(struct gfs2_rgrp_list *rlist)
2655 kfree(rlist->rl_rgd);
2657 if (rlist->rl_ghs) {
2658 for (x = 0; x < rlist->rl_rgrps; x++)
2659 gfs2_holder_uninit(&rlist->rl_ghs[x]);
2660 kfree(rlist->rl_ghs);
2661 rlist->rl_ghs = NULL;