Lines Matching defs:rlist
2649 * @rlist: the list of resource groups
2658 void gfs2_rlist_add(struct gfs2_inode *ip, struct gfs2_rgrp_list *rlist,
2667 if (gfs2_assert_warn(sdp, !rlist->rl_ghs))
2674 if (rlist->rl_rgrps) {
2675 rgd = rlist->rl_rgd[rlist->rl_rgrps - 1];
2691 for (x = 0; x < rlist->rl_rgrps; x++) {
2692 if (rlist->rl_rgd[x] == rgd) {
2693 swap(rlist->rl_rgd[x],
2694 rlist->rl_rgd[rlist->rl_rgrps - 1]);
2699 if (rlist->rl_rgrps == rlist->rl_space) {
2700 new_space = rlist->rl_space + 10;
2705 if (rlist->rl_rgd) {
2706 memcpy(tmp, rlist->rl_rgd,
2707 rlist->rl_space * sizeof(struct gfs2_rgrpd *));
2708 kfree(rlist->rl_rgd);
2711 rlist->rl_space = new_space;
2712 rlist->rl_rgd = tmp;
2715 rlist->rl_rgd[rlist->rl_rgrps++] = rgd;
2719 * gfs2_rlist_alloc - all RGs have been added to the rlist, now allocate
2721 * @rlist: the list of resource groups
2729 void gfs2_rlist_alloc(struct gfs2_rgrp_list *rlist,
2734 rlist->rl_ghs = kmalloc_array(rlist->rl_rgrps,
2737 for (x = 0; x < rlist->rl_rgrps; x++)
2738 gfs2_holder_init(rlist->rl_rgd[x]->rd_gl, state, flags,
2739 &rlist->rl_ghs[x]);
2744 * @rlist: the list of resource groups
2748 void gfs2_rlist_free(struct gfs2_rgrp_list *rlist)
2752 kfree(rlist->rl_rgd);
2754 if (rlist->rl_ghs) {
2755 for (x = 0; x < rlist->rl_rgrps; x++)
2756 gfs2_holder_uninit(&rlist->rl_ghs[x]);
2757 kfree(rlist->rl_ghs);
2758 rlist->rl_ghs = NULL;