X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=yaffs_allocator.c;h=1dd0c27b91682b8cd274d8d4a67d9ddf019566d2;hp=f9cd5becd8f470fc76302ec5498b077fa6c631d9;hb=6120ba5a0a029e945f4a2e7e5955896f112d4adc;hpb=79d0e028d5b777b2e4cf55d96b737cb024988abe diff --git a/yaffs_allocator.c b/yaffs_allocator.c index f9cd5be..1dd0c27 100644 --- a/yaffs_allocator.c +++ b/yaffs_allocator.c @@ -16,53 +16,6 @@ #include "yaffs_trace.h" #include "yportenv.h" -#ifdef CONFIG_YAFFS_KMALLOC_ALLOCATOR - -void yaffs_deinit_raw_tnodes_and_objs(struct yaffs_dev *dev) -{ - dev = dev; -} - -void yaffs_init_raw_tnodes_and_objs(struct yaffs_dev *dev) -{ - dev = dev; -} - -struct yaffs_tnode *yaffs_alloc_raw_tnode(struct yaffs_dev *dev) -{ - return (struct yaffs_tnode *)kmalloc(dev->tnode_size, GFP_NOFS); -} - -void yaffs_free_raw_tnode(struct yaffs_dev *dev, struct yaffs_tnode *tn) -{ - dev = dev; - kfree(tn); -} - -void yaffs_init_raw_objs(struct yaffs_dev *dev) -{ - dev = dev; -} - -void yaffs_deinit_raw_objs(struct yaffs_dev *dev) -{ - dev = dev; -} - -struct yaffs_obj *yaffs_alloc_raw_obj(struct yaffs_dev *dev) -{ - dev = dev; - return (struct yaffs_obj *)kmalloc(sizeof(struct yaffs_obj)); -} - -void yaffs_free_raw_obj(struct yaffs_dev *dev, struct yaffs_obj *obj) -{ - - dev = dev; - kfree(obj); -} - -#else struct yaffs_tnode_list { struct yaffs_tnode_list *next; @@ -89,14 +42,12 @@ struct yaffs_allocator { static void yaffs_deinit_raw_tnodes(struct yaffs_dev *dev) { - struct yaffs_allocator *allocator = (struct yaffs_allocator *)dev->allocator; - struct yaffs_tnode_list *tmp; if (!allocator) { - YBUG(); + BUG(); return; } @@ -106,7 +57,6 @@ static void yaffs_deinit_raw_tnodes(struct yaffs_dev *dev) kfree(allocator->alloc_tnode_list->tnodes); kfree(allocator->alloc_tnode_list); allocator->alloc_tnode_list = tmp; - } allocator->free_tnodes = NULL; @@ -124,7 +74,7 @@ static void yaffs_init_raw_tnodes(struct yaffs_dev *dev) allocator->n_free_tnodes = 0; allocator->n_tnodes_created = 0; } else { - YBUG(); + BUG(); } } @@ -140,7 +90,7 @@ static int yaffs_create_tnodes(struct yaffs_dev *dev, int n_tnodes) struct yaffs_tnode_list *tnl; if (!allocator) { - YBUG(); + BUG(); return YAFFS_FAIL; } @@ -148,7 +98,6 @@ static int yaffs_create_tnodes(struct yaffs_dev *dev, int n_tnodes) return YAFFS_OK; /* make these things */ - new_tnodes = kmalloc(n_tnodes * dev->tnode_size, GFP_NOFS); mem = (u8 *) new_tnodes; @@ -176,7 +125,6 @@ static int yaffs_create_tnodes(struct yaffs_dev *dev, int n_tnodes) * NB If we can't add this to the management list it isn't fatal * but it just means we can't free this bunch of tnodes later. */ - tnl = kmalloc(sizeof(struct yaffs_tnode_list), GFP_NOFS); if (!tnl) { yaffs_trace(YAFFS_TRACE_ERROR, @@ -188,7 +136,7 @@ static int yaffs_create_tnodes(struct yaffs_dev *dev, int n_tnodes) allocator->alloc_tnode_list = tnl; } - yaffs_trace(YAFFS_TRACE_ALLOCATE,"Tnodes added"); + yaffs_trace(YAFFS_TRACE_ALLOCATE, "Tnodes added"); return YAFFS_OK; } @@ -200,7 +148,7 @@ struct yaffs_tnode *yaffs_alloc_raw_tnode(struct yaffs_dev *dev) struct yaffs_tnode *tn = NULL; if (!allocator) { - YBUG(); + BUG(); return NULL; } @@ -223,7 +171,7 @@ void yaffs_free_raw_tnode(struct yaffs_dev *dev, struct yaffs_tnode *tn) struct yaffs_allocator *allocator = dev->allocator; if (!allocator) { - YBUG(); + BUG(); return; } @@ -244,7 +192,7 @@ static void yaffs_init_raw_objs(struct yaffs_dev *dev) allocator->free_objs = NULL; allocator->n_free_objects = 0; } else { - YBUG(); + BUG(); } } @@ -254,7 +202,7 @@ static void yaffs_deinit_raw_objs(struct yaffs_dev *dev) struct yaffs_obj_list *tmp; if (!allocator) { - YBUG(); + BUG(); return; } @@ -274,13 +222,12 @@ static void yaffs_deinit_raw_objs(struct yaffs_dev *dev) static int yaffs_create_free_objs(struct yaffs_dev *dev, int n_obj) { struct yaffs_allocator *allocator = dev->allocator; - int i; struct yaffs_obj *new_objs; struct yaffs_obj_list *list; if (!allocator) { - YBUG(); + BUG(); return YAFFS_FAIL; } @@ -292,14 +239,10 @@ static int yaffs_create_free_objs(struct yaffs_dev *dev, int n_obj) list = kmalloc(sizeof(struct yaffs_obj_list), GFP_NOFS); if (!new_objs || !list) { - if (new_objs) { - kfree(new_objs); - new_objs = NULL; - } - if (list) { - kfree(list); - list = NULL; - } + kfree(new_objs); + new_objs = NULL; + kfree(list); + list = NULL; yaffs_trace(YAFFS_TRACE_ALLOCATE, "Could not allocate more objects"); return YAFFS_FAIL; @@ -331,7 +274,7 @@ struct yaffs_obj *yaffs_alloc_raw_obj(struct yaffs_dev *dev) struct yaffs_allocator *allocator = dev->allocator; if (!allocator) { - YBUG(); + BUG(); return obj; } @@ -355,7 +298,7 @@ void yaffs_free_raw_obj(struct yaffs_dev *dev, struct yaffs_obj *obj) struct yaffs_allocator *allocator = dev->allocator; if (!allocator) - YBUG(); + BUG(); else { /* Link into the free list. */ obj->siblings.next = (struct list_head *)(allocator->free_objs); @@ -373,7 +316,7 @@ void yaffs_deinit_raw_tnodes_and_objs(struct yaffs_dev *dev) kfree(dev->allocator); dev->allocator = NULL; } else { - YBUG(); + BUG(); } } @@ -389,8 +332,7 @@ void yaffs_init_raw_tnodes_and_objs(struct yaffs_dev *dev) yaffs_init_raw_objs(dev); } } else { - YBUG(); + BUG(); } } -#endif