diff options
Diffstat (limited to 'drivers/md/bitmap.c')
| -rw-r--r-- | drivers/md/bitmap.c | 13 | 
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/md/bitmap.c b/drivers/md/bitmap.c index a7fd82133b1..67f8b31e205 100644 --- a/drivers/md/bitmap.c +++ b/drivers/md/bitmap.c @@ -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, @@ -1635,7 +1631,7 @@ int bitmap_create(struct mddev *mddev)  	sector_t blocks = mddev->resync_max_sectors;  	struct file *file = mddev->bitmap_info.file;  	int err; -	struct sysfs_dirent *bm = NULL; +	struct kernfs_node *bm = NULL;  	BUILD_BUG_ON(sizeof(bitmap_super_t) != 256); @@ -1654,9 +1650,9 @@ int bitmap_create(struct mddev *mddev)  	bitmap->mddev = mddev;  	if (mddev->kobj.sd) -		bm = sysfs_get_dirent(mddev->kobj.sd, NULL, "bitmap"); +		bm = sysfs_get_dirent(mddev->kobj.sd, "bitmap");  	if (bm) { -		bitmap->sysfs_can_clear = sysfs_get_dirent(bm, NULL, "can_clear"); +		bitmap->sysfs_can_clear = sysfs_get_dirent(bm, "can_clear");  		sysfs_put(bm);  	} else  		bitmap->sysfs_can_clear = NULL; @@ -1988,7 +1984,6 @@ location_store(struct mddev *mddev, const char *buf, size_t len)  		if (mddev->bitmap_info.file) {  			struct file *f = mddev->bitmap_info.file;  			mddev->bitmap_info.file = NULL; -			restore_bitmap_write_access(f);  			fput(f);  		}  	} else {  | 
