md/bitmap: remove confusing code from filemap_get_page.
authorNeilBrown <neilb@suse.de>
Wed, 28 May 2014 03:39:23 +0000 (13:39 +1000)
committerNeilBrown <neilb@suse.de>
Thu, 29 May 2014 06:59:47 +0000 (16:59 +1000)
file_page_index(store, 0) is *always* 0.
This is because the bitmap sb, at 256 bytes, is *always* less than
one page.
So subtracting it has no effect and the code should be removed.

Reported-by: Goldwyn Rodrigues <rgoldwyn@suse.de>
Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/bitmap.c

index 9a8e66ae04f51e95c169ea9a38f48b0d83f6ed03..67f8b31e205491ebea3b02a5a28efedce2c26c8d 100644 (file)
@@ -669,17 +669,13 @@ static inline unsigned long file_page_offset(struct bitmap_storage *store,
 /*
  * return a pointer to the page in the filemap that contains the given bit
  *
- * this lookup is complicated by the fact that the bitmap sb might be exactly
- * 1 page (e.g., x86) or less than 1 page -- so the bitmap might start on page
- * 0 or page 1
  */
 static inline struct page *filemap_get_page(struct bitmap_storage *store,
                                            unsigned long chunk)
 {
        if (file_page_index(store, chunk) >= store->file_pages)
                return NULL;
-       return store->filemap[file_page_index(store, chunk)
-                             - file_page_index(store, 0)];
+       return store->filemap[file_page_index(store, chunk)];
 }
 
 static int bitmap_storage_alloc(struct bitmap_storage *store,