Lines Matching refs:allocator

59 	struct yaffs_allocator *allocator =  in yaffs_deinit_raw_tnodes()  local
60 (struct yaffs_allocator *)dev->allocator; in yaffs_deinit_raw_tnodes()
63 if (!allocator) { in yaffs_deinit_raw_tnodes()
68 while (allocator->alloc_tnode_list) { in yaffs_deinit_raw_tnodes()
69 tmp = allocator->alloc_tnode_list->next; in yaffs_deinit_raw_tnodes()
71 kfree(allocator->alloc_tnode_list->tnodes); in yaffs_deinit_raw_tnodes()
72 kfree(allocator->alloc_tnode_list); in yaffs_deinit_raw_tnodes()
73 allocator->alloc_tnode_list = tmp; in yaffs_deinit_raw_tnodes()
76 allocator->free_tnodes = NULL; in yaffs_deinit_raw_tnodes()
77 allocator->n_free_tnodes = 0; in yaffs_deinit_raw_tnodes()
78 allocator->n_tnodes_created = 0; in yaffs_deinit_raw_tnodes()
83 struct yaffs_allocator *allocator = dev->allocator; in yaffs_init_raw_tnodes() local
85 if (!allocator) { in yaffs_init_raw_tnodes()
90 allocator->alloc_tnode_list = NULL; in yaffs_init_raw_tnodes()
91 allocator->free_tnodes = NULL; in yaffs_init_raw_tnodes()
92 allocator->n_free_tnodes = 0; in yaffs_init_raw_tnodes()
93 allocator->n_tnodes_created = 0; in yaffs_init_raw_tnodes()
98 struct yaffs_allocator *allocator = in yaffs_create_tnodes() local
99 (struct yaffs_allocator *)dev->allocator; in yaffs_create_tnodes()
107 if (!allocator) { in yaffs_create_tnodes()
133 curr->internal[0] = allocator->free_tnodes; in yaffs_create_tnodes()
134 allocator->free_tnodes = (struct yaffs_tnode *)mem; in yaffs_create_tnodes()
136 allocator->n_free_tnodes += n_tnodes; in yaffs_create_tnodes()
137 allocator->n_tnodes_created += n_tnodes; in yaffs_create_tnodes()
150 tnl->next = allocator->alloc_tnode_list; in yaffs_create_tnodes()
151 allocator->alloc_tnode_list = tnl; in yaffs_create_tnodes()
161 struct yaffs_allocator *allocator = in yaffs_alloc_raw_tnode() local
162 (struct yaffs_allocator *)dev->allocator; in yaffs_alloc_raw_tnode()
165 if (!allocator) { in yaffs_alloc_raw_tnode()
171 if (!allocator->free_tnodes) in yaffs_alloc_raw_tnode()
174 if (allocator->free_tnodes) { in yaffs_alloc_raw_tnode()
175 tn = allocator->free_tnodes; in yaffs_alloc_raw_tnode()
176 allocator->free_tnodes = allocator->free_tnodes->internal[0]; in yaffs_alloc_raw_tnode()
177 allocator->n_free_tnodes--; in yaffs_alloc_raw_tnode()
186 struct yaffs_allocator *allocator = dev->allocator; in yaffs_free_raw_tnode() local
188 if (!allocator) { in yaffs_free_raw_tnode()
194 tn->internal[0] = allocator->free_tnodes; in yaffs_free_raw_tnode()
195 allocator->free_tnodes = tn; in yaffs_free_raw_tnode()
196 allocator->n_free_tnodes++; in yaffs_free_raw_tnode()
209 struct yaffs_allocator *allocator = dev->allocator; in yaffs_init_raw_objs() local
211 if (!allocator) { in yaffs_init_raw_objs()
216 allocator->allocated_obj_list = NULL; in yaffs_init_raw_objs()
217 INIT_LIST_HEAD(&allocator->free_objs); in yaffs_init_raw_objs()
218 allocator->n_free_objects = 0; in yaffs_init_raw_objs()
223 struct yaffs_allocator *allocator = dev->allocator; in yaffs_deinit_raw_objs() local
226 if (!allocator) { in yaffs_deinit_raw_objs()
231 while (allocator->allocated_obj_list) { in yaffs_deinit_raw_objs()
232 tmp = allocator->allocated_obj_list->next; in yaffs_deinit_raw_objs()
233 kfree(allocator->allocated_obj_list->objects); in yaffs_deinit_raw_objs()
234 kfree(allocator->allocated_obj_list); in yaffs_deinit_raw_objs()
235 allocator->allocated_obj_list = tmp; in yaffs_deinit_raw_objs()
238 INIT_LIST_HEAD(&allocator->free_objs); in yaffs_deinit_raw_objs()
239 allocator->n_free_objects = 0; in yaffs_deinit_raw_objs()
240 allocator->n_obj_created = 0; in yaffs_deinit_raw_objs()
245 struct yaffs_allocator *allocator = dev->allocator; in yaffs_create_free_objs() local
250 if (!allocator) { in yaffs_create_free_objs()
274 list_add(&new_objs[i].siblings, &allocator->free_objs); in yaffs_create_free_objs()
276 allocator->n_free_objects += n_obj; in yaffs_create_free_objs()
277 allocator->n_obj_created += n_obj; in yaffs_create_free_objs()
282 list->next = allocator->allocated_obj_list; in yaffs_create_free_objs()
283 allocator->allocated_obj_list = list; in yaffs_create_free_objs()
292 struct yaffs_allocator *allocator = dev->allocator; in yaffs_alloc_raw_obj() local
294 if (!allocator) { in yaffs_alloc_raw_obj()
300 if (list_empty(&allocator->free_objs)) in yaffs_alloc_raw_obj()
303 if (!list_empty(&allocator->free_objs)) { in yaffs_alloc_raw_obj()
304 lh = allocator->free_objs.next; in yaffs_alloc_raw_obj()
307 allocator->n_free_objects--; in yaffs_alloc_raw_obj()
316 struct yaffs_allocator *allocator = dev->allocator; in yaffs_free_raw_obj() local
318 if (!allocator) { in yaffs_free_raw_obj()
324 list_add(&obj->siblings, &allocator->free_objs); in yaffs_free_raw_obj()
325 allocator->n_free_objects++; in yaffs_free_raw_obj()
331 if (!dev->allocator) { in yaffs_deinit_raw_tnodes_and_objs()
338 kfree(dev->allocator); in yaffs_deinit_raw_tnodes_and_objs()
339 dev->allocator = NULL; in yaffs_deinit_raw_tnodes_and_objs()
344 struct yaffs_allocator *allocator; in yaffs_init_raw_tnodes_and_objs() local
346 if (dev->allocator) { in yaffs_init_raw_tnodes_and_objs()
351 allocator = kmalloc(sizeof(struct yaffs_allocator), GFP_NOFS); in yaffs_init_raw_tnodes_and_objs()
352 if (allocator) { in yaffs_init_raw_tnodes_and_objs()
353 dev->allocator = allocator; in yaffs_init_raw_tnodes_and_objs()