]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - mm/slob.c
block: use bio_has_data() to check for data carrying bio
[linux-2.6-omap-h63xx.git] / mm / slob.c
index de268eb7ac705ccb86beb1db409c9b15d8891c69..62b679dc660fb9244a745142c79186000793343f 100644 (file)
--- a/mm/slob.c
+++ b/mm/slob.c
@@ -515,22 +515,20 @@ size_t ksize(const void *block)
 
        sp = (struct slob_page *)virt_to_page(block);
        if (slob_page(sp))
-               return ((slob_t *)block - 1)->units + SLOB_UNIT;
+               return (((slob_t *)block - 1)->units - 1) * SLOB_UNIT;
        else
                return sp->page.private;
 }
-EXPORT_SYMBOL(ksize);
 
 struct kmem_cache {
        unsigned int size, align;
        unsigned long flags;
        const char *name;
-       void (*ctor)(struct kmem_cache *, void *);
+       void (*ctor)(void *);
 };
 
 struct kmem_cache *kmem_cache_create(const char *name, size_t size,
-       size_t align, unsigned long flags,
-       void (*ctor)(struct kmem_cache *, void *))
+       size_t align, unsigned long flags, void (*ctor)(void *))
 {
        struct kmem_cache *c;
 
@@ -575,7 +573,7 @@ void *kmem_cache_alloc_node(struct kmem_cache *c, gfp_t flags, int node)
                b = slob_new_page(flags, get_order(c->size), node);
 
        if (c->ctor)
-               c->ctor(c, b);
+               c->ctor(b);
 
        return b;
 }