|
@@ -922,16 +922,9 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent)
|
|
|
blocksize = BLOCK_SIZE << le32_to_cpu(sbi->s_es->s_log_block_size);
|
|
|
|
|
|
if (sbi->s_mount_opt & EXT2_MOUNT_DAX) {
|
|
|
- if (blocksize != PAGE_SIZE) {
|
|
|
- ext2_msg(sb, KERN_ERR,
|
|
|
- "error: unsupported blocksize for dax");
|
|
|
+ err = bdev_dax_supported(sb, blocksize);
|
|
|
+ if (err)
|
|
|
goto failed_mount;
|
|
|
- }
|
|
|
- if (!sb->s_bdev->bd_disk->fops->direct_access) {
|
|
|
- ext2_msg(sb, KERN_ERR,
|
|
|
- "error: device does not support dax");
|
|
|
- goto failed_mount;
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
/* If the blocksize doesn't match, re-read the thing.. */
|