예제 #1
0
파일: group.c 프로젝트: wiedi/sheepdog
static void get_vdi_bitmap_from_sd_list(void)
{
	int i;
	/* fixme: we need this until starting up. */

	for (i = 0; i < sys->nr_nodes; i++)
		get_vdi_bitmap_from(sys->nodes + i);
}
예제 #2
0
파일: group.c 프로젝트: drscream/sheepdog
static void do_get_vdi_bitmap(struct work *work)
{
	struct vdi_bitmap_work *w =
		container_of(work, struct vdi_bitmap_work, work);
	int i;

	for (i = 0; i < w->nr_members; i++) {
		/* We should not fetch vdi_bitmap from myself */
		if (node_eq(&w->members[i], &sys->this_node))
			continue;

		get_vdi_bitmap_from(&w->members[i]);

		/*
		 * If a new comer try to join the running cluster, it only
		 * need read one copy of bitmap from one of other members.
		 */
		if (sys->status == SD_STATUS_WAIT_FOR_FORMAT)
			break;
	}
}