mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-16 05:50:19 +00:00
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
@ -35,31 +35,6 @@ static inline char *bmname(struct bitmap *bitmap)
|
||||
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)
|
||||
*
|
||||
@ -97,7 +72,7 @@ __acquires(bitmap->lock)
|
||||
/* this page has not been allocated yet */
|
||||
|
||||
spin_unlock_irq(&bitmap->lock);
|
||||
mappage = bitmap_alloc_page(bitmap);
|
||||
mappage = kzalloc(PAGE_SIZE, GFP_NOIO);
|
||||
spin_lock_irq(&bitmap->lock);
|
||||
|
||||
if (mappage == NULL) {
|
||||
@ -110,7 +85,7 @@ __acquires(bitmap->lock)
|
||||
} else if (bitmap->bp[page].map ||
|
||||
bitmap->bp[page].hijacked) {
|
||||
/* somebody beat us to getting the page */
|
||||
bitmap_free_page(bitmap, mappage);
|
||||
kfree(mappage);
|
||||
return 0;
|
||||
} else {
|
||||
|
||||
@ -142,7 +117,7 @@ static void bitmap_checkfree(struct bitmap *bitmap, unsigned long page)
|
||||
ptr = bitmap->bp[page].map;
|
||||
bitmap->bp[page].map = NULL;
|
||||
bitmap->missing_pages++;
|
||||
bitmap_free_page(bitmap, ptr);
|
||||
kfree(ptr);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user