===================================================================
@@ -78,11 +78,11 @@ static struct page *brd_lookup_page(stru
}
/*
- * Look up and return a brd's page for a given sector.
- * If one does not exist, allocate an empty page, and insert that. Then
- * return it.
+ * If the page exists, return true.
+ * If it does not exist, allocate an empty page, and insert that. Return true
+ * if the allocation was successful.
*/
-static struct page *brd_insert_page(struct brd_device *brd, sector_t sector)
+static bool brd_insert_page(struct brd_device *brd, sector_t sector)
{
pgoff_t idx;
struct page *page;
@@ -90,7 +90,7 @@ static struct page *brd_insert_page(stru
page = brd_lookup_page(brd, sector);
if (page)
- return page;
+ return true;
/*
* Must use NOIO because we don't want to recurse back into the
@@ -99,11 +99,11 @@ static struct page *brd_insert_page(stru
gfp_flags = GFP_NOIO | __GFP_ZERO | __GFP_HIGHMEM;
page = alloc_page(gfp_flags);
if (!page)
- return NULL;
+ return false;
if (radix_tree_preload(GFP_NOIO)) {
__free_page(page);
- return NULL;
+ return false;
}
spin_lock(&brd->brd_lock);
@@ -121,7 +121,7 @@ static struct page *brd_insert_page(stru
radix_tree_preload_end();
- return page;
+ return true;
}
/*