diff --git a/drivers/md/md.c b/drivers/md/md.c
index fd66c39589420f1dc54d706b032206effa9f227b..39b917bc0fc0b4c4e4103f6a64e9db05c6183d09 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -898,7 +898,7 @@ static int super_1_load(mdk_rdev_t *rdev, mdk_rdev_t *refdev, int minor_version)
 	rdev->data_offset = le64_to_cpu(sb->data_offset);
 
 	rdev->sb_size = le32_to_cpu(sb->max_dev) * 2 + 256;
-	bmask = block_size(rdev->bdev)-1;
+	bmask = queue_hardsect_size(rdev->bdev->bd_disk->queue)-1;
 	if (rdev->sb_size & bmask)
 		rdev-> sb_size = (rdev->sb_size | bmask)+1;