X-Git-Url: http://aleph1.co.uk/gitweb/?a=blobdiff_plain;f=yaffs_allocator.c;h=1501a8e54399171ec50683c5bfb41f05c65e7f7c;hb=70c6bf2ff57c8a2fb778accdd5b4227abf273674;hp=b181dd54893642530e7ba2bee46b26f0e987510e;hpb=8c9cad909837025664f112c900fb4f7d02cecae6;p=yaffs2.git diff --git a/yaffs_allocator.c b/yaffs_allocator.c index b181dd5..1501a8e 100644 --- a/yaffs_allocator.c +++ b/yaffs_allocator.c @@ -21,59 +21,59 @@ #ifdef CONFIG_YAFFS_YMALLOC_ALLOCATOR -void yaffs_DeinitialiseRawTnodesAndObjects(yaffs_Device *dev) +void yaffs_deinit_raw_tnodes_and_objs(yaffs_Device *dev) { dev = dev; } -void yaffs_InitialiseRawTnodesAndObjects(yaffs_Device *dev) +void yaffs_init_raw_tnodes_and_objs(yaffs_Device *dev) { dev = dev; } -yaffs_Tnode *yaffs_AllocateRawTnode(yaffs_Device *dev) +yaffs_tnode_t *yaffs_alloc_raw_tnode(yaffs_Device *dev) { - return (yaffs_Tnode *)YMALLOC(dev->tnodeSize); + return (yaffs_tnode_t *)YMALLOC(dev->tnodeSize); } -void yaffs_FreeRawTnode(yaffs_Device *dev, yaffs_Tnode *tn) +void yaffs_free_raw_tnode(yaffs_Device *dev, yaffs_tnode_t *tn) { dev = dev; YFREE(tn); } -void yaffs_InitialiseRawObjects(yaffs_Device *dev) +void yaffs_init_raw_objs(yaffs_Device *dev) { dev = dev; } -void yaffs_DeinitialiseRawObjects(yaffs_Device *dev) +void yaffs_deinit_raw_objs(yaffs_Device *dev) { dev = dev; } -yaffs_Object *yaffs_AllocateRawObject(yaffs_Device *dev) +yaffs_Object *yaffs_alloc_raw_obj(yaffs_Device *dev) { dev = dev; return (yaffs_Object *) YMALLOC(sizeof(yaffs_Object)); } -void yaffs_FreeRawObject(yaffs_Device *dev, yaffs_Object *obj) +void yaffs_free_raw_obj(yaffs_Device *dev, yaffs_Object *obj) { - dev = dev; + dev = dev; YFREE(obj); } #else -struct yaffs_TnodeList_struct { - struct yaffs_TnodeList_struct *next; - yaffs_Tnode *tnodes; +struct yaffs_tnode_list { + struct yaffs_tnode_list *next; + yaffs_tnode_t *tnodes; }; -typedef struct yaffs_TnodeList_struct yaffs_TnodeList; +typedef struct yaffs_tnode_list yaffs_tnodelist_t; struct yaffs_ObjectList_struct { yaffs_Object *objects; @@ -82,30 +82,30 @@ struct yaffs_ObjectList_struct { typedef struct yaffs_ObjectList_struct yaffs_ObjectList; - + struct yaffs_AllocatorStruct { int nTnodesCreated; - yaffs_Tnode *freeTnodes; + yaffs_tnode_t *freeTnodes; int nFreeTnodes; - yaffs_TnodeList *allocatedTnodeList; + yaffs_tnodelist_t *allocatedTnodeList; int nObjectsCreated; yaffs_Object *freeObjects; int nFreeObjects; - + yaffs_ObjectList *allocatedObjectList; }; typedef struct yaffs_AllocatorStruct yaffs_Allocator; -static void yaffs_DeinitialiseRawTnodes(yaffs_Device *dev) +static void yaffs_deinit_raw_tnodes(yaffs_Device *dev) { yaffs_Allocator *allocator = (yaffs_Allocator *)dev->allocator; - yaffs_TnodeList *tmp; - + yaffs_tnodelist_t *tmp; + if(!allocator){ YBUG(); return; @@ -125,7 +125,7 @@ static void yaffs_DeinitialiseRawTnodes(yaffs_Device *dev) allocator->nTnodesCreated = 0; } -static void yaffs_InitialiseRawTnodes(yaffs_Device *dev) +static void yaffs_init_raw_tnodes(yaffs_Device *dev) { yaffs_Allocator *allocator = dev->allocator; @@ -138,16 +138,16 @@ static void yaffs_InitialiseRawTnodes(yaffs_Device *dev) YBUG(); } -static int yaffs_CreateTnodes(yaffs_Device *dev, int nTnodes) +static int yaffs_create_tnodes(yaffs_Device *dev, int nTnodes) { yaffs_Allocator *allocator = (yaffs_Allocator *)dev->allocator; int i; - yaffs_Tnode *newTnodes; + yaffs_tnode_t *newTnodes; __u8 *mem; - yaffs_Tnode *curr; - yaffs_Tnode *next; - yaffs_TnodeList *tnl; - + yaffs_tnode_t *curr; + yaffs_tnode_t *next; + yaffs_tnodelist_t *tnl; + if(!allocator){ YBUG(); return YAFFS_FAIL; @@ -168,34 +168,16 @@ static int yaffs_CreateTnodes(yaffs_Device *dev, int nTnodes) return YAFFS_FAIL; } - /* Hook them into the free list */ -#if 0 - for (i = 0; i < nTnodes - 1; i++) { - newTnodes[i].internal[0] = &newTnodes[i + 1]; -#ifdef CONFIG_YAFFS_TNODE_LIST_DEBUG - newTnodes[i].internal[YAFFS_NTNODES_INTERNAL] = (void *)1; -#endif - } - - newTnodes[nTnodes - 1].internal[0] = allocator->freeTnodes; -#ifdef CONFIG_YAFFS_TNODE_LIST_DEBUG - newTnodes[nTnodes - 1].internal[YAFFS_NTNODES_INTERNAL] = (void *)1; -#endif - allocator->freeTnodes = newTnodes; -#else /* New hookup for wide tnodes */ for (i = 0; i < nTnodes - 1; i++) { - curr = (yaffs_Tnode *) &mem[i * dev->tnodeSize]; - next = (yaffs_Tnode *) &mem[(i+1) * dev->tnodeSize]; + curr = (yaffs_tnode_t *) &mem[i * dev->tnodeSize]; + next = (yaffs_tnode_t *) &mem[(i+1) * dev->tnodeSize]; curr->internal[0] = next; } - curr = (yaffs_Tnode *) &mem[(nTnodes - 1) * dev->tnodeSize]; + curr = (yaffs_tnode_t *) &mem[(nTnodes - 1) * dev->tnodeSize]; curr->internal[0] = allocator->freeTnodes; - allocator->freeTnodes = (yaffs_Tnode *)mem; - -#endif - + allocator->freeTnodes = (yaffs_tnode_t *)mem; allocator->nFreeTnodes += nTnodes; allocator->nTnodesCreated += nTnodes; @@ -205,7 +187,7 @@ static int yaffs_CreateTnodes(yaffs_Device *dev, int nTnodes) * but it just means we can't free this bunch of tnodes later. */ - tnl = YMALLOC(sizeof(yaffs_TnodeList)); + tnl = YMALLOC(sizeof(yaffs_tnodelist_t)); if (!tnl) { T(YAFFS_TRACE_ERROR, (TSTR @@ -223,11 +205,11 @@ static int yaffs_CreateTnodes(yaffs_Device *dev, int nTnodes) } -yaffs_Tnode *yaffs_AllocateRawTnode(yaffs_Device *dev) +yaffs_tnode_t *yaffs_alloc_raw_tnode(yaffs_Device *dev) { yaffs_Allocator *allocator = (yaffs_Allocator *)dev->allocator; - yaffs_Tnode *tn = NULL; - + yaffs_tnode_t *tn = NULL; + if(!allocator){ YBUG(); return NULL; @@ -235,17 +217,10 @@ yaffs_Tnode *yaffs_AllocateRawTnode(yaffs_Device *dev) /* If there are none left make more */ if (!allocator->freeTnodes) - yaffs_CreateTnodes(dev, YAFFS_ALLOCATION_NTNODES); + yaffs_create_tnodes(dev, YAFFS_ALLOCATION_NTNODES); if (allocator->freeTnodes) { tn = allocator->freeTnodes; -#ifdef CONFIG_YAFFS_TNODE_LIST_DEBUG - if (tn->internal[YAFFS_NTNODES_INTERNAL] != (void *)1) { - /* Hoosterman, this thing looks like it isn't in the list */ - T(YAFFS_TRACE_ALWAYS, - (TSTR("yaffs: Tnode list bug 1" TENDSTR))); - } -#endif allocator->freeTnodes = allocator->freeTnodes->internal[0]; allocator->nFreeTnodes--; } @@ -254,7 +229,7 @@ yaffs_Tnode *yaffs_AllocateRawTnode(yaffs_Device *dev) } /* FreeTnode frees up a tnode and puts it back on the free list */ -void yaffs_FreeRawTnode(yaffs_Device *dev, yaffs_Tnode *tn) +void yaffs_free_raw_tnode(yaffs_Device *dev, yaffs_tnode_t *tn) { yaffs_Allocator *allocator = dev->allocator; @@ -264,14 +239,6 @@ void yaffs_FreeRawTnode(yaffs_Device *dev, yaffs_Tnode *tn) } if (tn) { -#ifdef CONFIG_YAFFS_TNODE_LIST_DEBUG - if (tn->internal[YAFFS_NTNODES_INTERNAL] != 0) { - /* Hoosterman, this thing looks like it is already in the list */ - T(YAFFS_TRACE_ALWAYS, - (TSTR("yaffs: Tnode list bug 2" TENDSTR))); - } - tn->internal[YAFFS_NTNODES_INTERNAL] = (void *)1; -#endif tn->internal[0] = allocator->freeTnodes; allocator->freeTnodes = tn; allocator->nFreeTnodes++; @@ -281,7 +248,7 @@ void yaffs_FreeRawTnode(yaffs_Device *dev, yaffs_Tnode *tn) -static void yaffs_InitialiseRawObjects(yaffs_Device *dev) +static void yaffs_init_raw_objs(yaffs_Device *dev) { yaffs_Allocator *allocator = dev->allocator; @@ -293,7 +260,7 @@ static void yaffs_InitialiseRawObjects(yaffs_Device *dev) YBUG(); } -static void yaffs_DeinitialiseRawObjects(yaffs_Device *dev) +static void yaffs_deinit_raw_objs(yaffs_Device *dev) { yaffs_Allocator *allocator = dev->allocator; yaffs_ObjectList *tmp; @@ -317,7 +284,7 @@ static void yaffs_DeinitialiseRawObjects(yaffs_Device *dev) } -static int yaffs_CreateFreeObjects(yaffs_Device *dev, int nObjects) +static int yaffs_create_free_objs(yaffs_Device *dev, int nObjects) { yaffs_Allocator *allocator = dev->allocator; @@ -371,7 +338,7 @@ static int yaffs_CreateFreeObjects(yaffs_Device *dev, int nObjects) return YAFFS_OK; } -yaffs_Object *yaffs_AllocateRawObject(yaffs_Device *dev) +yaffs_Object *yaffs_alloc_raw_obj(yaffs_Device *dev) { yaffs_Object *obj = NULL; yaffs_Allocator *allocator = dev->allocator; @@ -383,7 +350,7 @@ yaffs_Object *yaffs_AllocateRawObject(yaffs_Device *dev) /* If there are none left make more */ if (!allocator->freeObjects) - yaffs_CreateFreeObjects(dev, YAFFS_ALLOCATION_NOBJECTS); + yaffs_create_free_objs(dev, YAFFS_ALLOCATION_NOBJECTS); if (allocator->freeObjects) { obj = allocator->freeObjects; @@ -396,14 +363,14 @@ yaffs_Object *yaffs_AllocateRawObject(yaffs_Device *dev) } -void yaffs_FreeRawObject(yaffs_Device *dev, yaffs_Object *obj) +void yaffs_free_raw_obj(yaffs_Device *dev, yaffs_Object *obj) { yaffs_Allocator *allocator = dev->allocator; if(!allocator) YBUG(); - else { + else { /* Link into the free list. */ obj->siblings.next = (struct ylist_head *)(allocator->freeObjects); allocator->freeObjects = obj; @@ -411,28 +378,28 @@ void yaffs_FreeRawObject(yaffs_Device *dev, yaffs_Object *obj) } } -void yaffs_DeinitialiseRawTnodesAndObjects(yaffs_Device *dev) +void yaffs_deinit_raw_tnodes_and_objs(yaffs_Device *dev) { if(dev->allocator){ - yaffs_DeinitialiseRawTnodes(dev); - yaffs_DeinitialiseRawObjects(dev); - + yaffs_deinit_raw_tnodes(dev); + yaffs_deinit_raw_objs(dev); + YFREE(dev->allocator); dev->allocator=NULL; } else YBUG(); } -void yaffs_InitialiseRawTnodesAndObjects(yaffs_Device *dev) +void yaffs_init_raw_tnodes_and_objs(yaffs_Device *dev) { yaffs_Allocator *allocator; - + if(!dev->allocator){ allocator = YMALLOC(sizeof(yaffs_Allocator)); if(allocator){ dev->allocator = allocator; - yaffs_InitialiseRawTnodes(dev); - yaffs_InitialiseRawObjects(dev); + yaffs_init_raw_tnodes(dev); + yaffs_init_raw_objs(dev); } } else YBUG();