md/bitmap: remove unnecessary indirection when allocating.
These funcitons don't add anything useful except possibly the trace points, and I don't think they are worth the extra indirection. So remove them. Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
5a6c824ebb
commit
792a1d4bbf
1 changed files with 3 additions and 28 deletions
|
@ -35,31 +35,6 @@ static inline char *bmname(struct bitmap *bitmap)
|
||||||
return bitmap->mddev ? mdname(bitmap->mddev) : "mdX";
|
return bitmap->mddev ? mdname(bitmap->mddev) : "mdX";
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* just a placeholder - calls kmalloc for bitmap pages
|
|
||||||
*/
|
|
||||||
static unsigned char *bitmap_alloc_page(struct bitmap *bitmap)
|
|
||||||
{
|
|
||||||
unsigned char *page;
|
|
||||||
|
|
||||||
page = kzalloc(PAGE_SIZE, GFP_NOIO);
|
|
||||||
if (!page)
|
|
||||||
printk("%s: bitmap_alloc_page FAILED\n", bmname(bitmap));
|
|
||||||
else
|
|
||||||
pr_debug("%s: bitmap_alloc_page: allocated page at %p\n",
|
|
||||||
bmname(bitmap), page);
|
|
||||||
return page;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* for now just a placeholder -- just calls kfree for bitmap pages
|
|
||||||
*/
|
|
||||||
static void bitmap_free_page(struct bitmap *bitmap, unsigned char *page)
|
|
||||||
{
|
|
||||||
pr_debug("%s: bitmap_free_page: free page %p\n", bmname(bitmap), page);
|
|
||||||
kfree(page);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* check a page and, if necessary, allocate it (or hijack it if the alloc fails)
|
* check a page and, if necessary, allocate it (or hijack it if the alloc fails)
|
||||||
*
|
*
|
||||||
|
@ -97,7 +72,7 @@ __acquires(bitmap->lock)
|
||||||
/* this page has not been allocated yet */
|
/* this page has not been allocated yet */
|
||||||
|
|
||||||
spin_unlock_irq(&bitmap->lock);
|
spin_unlock_irq(&bitmap->lock);
|
||||||
mappage = bitmap_alloc_page(bitmap);
|
mappage = kzalloc(PAGE_SIZE, GFP_NOIO);
|
||||||
spin_lock_irq(&bitmap->lock);
|
spin_lock_irq(&bitmap->lock);
|
||||||
|
|
||||||
if (mappage == NULL) {
|
if (mappage == NULL) {
|
||||||
|
@ -110,7 +85,7 @@ __acquires(bitmap->lock)
|
||||||
} else if (bitmap->bp[page].map ||
|
} else if (bitmap->bp[page].map ||
|
||||||
bitmap->bp[page].hijacked) {
|
bitmap->bp[page].hijacked) {
|
||||||
/* somebody beat us to getting the page */
|
/* somebody beat us to getting the page */
|
||||||
bitmap_free_page(bitmap, mappage);
|
kfree(mappage);
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
@ -142,7 +117,7 @@ static void bitmap_checkfree(struct bitmap *bitmap, unsigned long page)
|
||||||
ptr = bitmap->bp[page].map;
|
ptr = bitmap->bp[page].map;
|
||||||
bitmap->bp[page].map = NULL;
|
bitmap->bp[page].map = NULL;
|
||||||
bitmap->missing_pages++;
|
bitmap->missing_pages++;
|
||||||
bitmap_free_page(bitmap, ptr);
|
kfree(ptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in a new issue