Lines Matching refs:zones
41 struct logical_zones *zones = context; in get_thread_id_for_zone() local
43 return zones->zones[zone_number].thread_id; in get_thread_id_for_zone()
51 static int initialize_zone(struct logical_zones *zones, zone_count_t zone_number) in initialize_zone() argument
54 struct vdo *vdo = zones->vdo; in initialize_zone()
55 struct logical_zone *zone = &zones->zones[zone_number]; in initialize_zone()
63 zone->next = &zones->zones[zone_number + 1]; in initialize_zone()
67 zone->zones = zones; in initialize_zone()
70 zone->block_map_zone = &vdo->block_map->zones[zone_number]; in initialize_zone()
75 zone->allocation_zone = &vdo->physical_zones->zones[allocation_zone_number]; in initialize_zone()
89 struct logical_zones *zones; in vdo_make_logical_zones() local
98 struct logical_zone, __func__, &zones); in vdo_make_logical_zones()
102 zones->vdo = vdo; in vdo_make_logical_zones()
103 zones->zone_count = zone_count; in vdo_make_logical_zones()
105 result = initialize_zone(zones, zone); in vdo_make_logical_zones()
107 vdo_free_logical_zones(zones); in vdo_make_logical_zones()
112 result = vdo_make_action_manager(zones->zone_count, get_thread_id_for_zone, in vdo_make_logical_zones()
113 vdo->thread_config.admin_thread, zones, NULL, in vdo_make_logical_zones()
114 vdo, &zones->manager); in vdo_make_logical_zones()
116 vdo_free_logical_zones(zones); in vdo_make_logical_zones()
120 *zones_ptr = zones; in vdo_make_logical_zones()
128 void vdo_free_logical_zones(struct logical_zones *zones) in vdo_free_logical_zones() argument
132 if (zones == NULL) in vdo_free_logical_zones()
135 vdo_free(vdo_forget(zones->manager)); in vdo_free_logical_zones()
137 for (index = 0; index < zones->zone_count; index++) in vdo_free_logical_zones()
138 vdo_int_map_free(vdo_forget(zones->zones[index].lbn_operations)); in vdo_free_logical_zones()
140 vdo_free(zones); in vdo_free_logical_zones()
180 struct logical_zones *zones = context; in drain_logical_zone() local
182 vdo_start_draining(&zones->zones[zone_number].state, in drain_logical_zone()
183 vdo_get_current_manager_operation(zones->manager), parent, in drain_logical_zone()
187 void vdo_drain_logical_zones(struct logical_zones *zones, in vdo_drain_logical_zones() argument
191 vdo_schedule_operation(zones->manager, operation, NULL, drain_logical_zone, NULL, in vdo_drain_logical_zones()
203 struct logical_zone *zone = &(((struct logical_zones *) context)->zones[zone_number]); in resume_logical_zone()
213 void vdo_resume_logical_zones(struct logical_zones *zones, struct vdo_completion *parent) in vdo_resume_logical_zones() argument
215 vdo_schedule_operation(zones->manager, VDO_ADMIN_STATE_RESUMING, NULL, in vdo_resume_logical_zones()
289 vdo_complete_flushes(zone->zones->vdo->flusher); in notify_flusher()
314 vdo_get_flusher_thread_id(zone->zones->vdo->flusher)); in attempt_generation_complete_notification()