|
@@ -1624,10 +1624,11 @@ int bitmap_create(mddev_t *mddev)
|
|
|
bitmap->offset = mddev->bitmap_offset;
|
|
|
if (file) {
|
|
|
get_file(file);
|
|
|
- do_sync_mapping_range(file->f_mapping, 0, LLONG_MAX,
|
|
|
- SYNC_FILE_RANGE_WAIT_BEFORE |
|
|
|
- SYNC_FILE_RANGE_WRITE |
|
|
|
- SYNC_FILE_RANGE_WAIT_AFTER);
|
|
|
+ /* As future accesses to this file will use bmap,
|
|
|
+ * and bypass the page cache, we must sync the file
|
|
|
+ * first.
|
|
|
+ */
|
|
|
+ vfs_fsync(file, file->f_dentry, 1);
|
|
|
}
|
|
|
/* read superblock from bitmap file (this sets bitmap->chunksize) */
|
|
|
err = bitmap_read_sb(bitmap);
|