diff --git a/block/genhd.c b/block/genhd.c
index a94952ae9e396ace31f569343d5546c431222f95..3d287b32d50dfdb455c89b32ed8664b17e120898 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -366,7 +366,7 @@ int disk_scan_partitions(struct gendisk *disk, blk_mode_t mode)
 	}
 
 	set_bit(GD_NEED_PART_SCAN, &disk->state);
-	bdev = blkdev_get_by_dev(disk_devt(disk), mode & ~FMODE_EXEC, NULL,
+	bdev = blkdev_get_by_dev(disk_devt(disk), mode & ~BLK_OPEN_EXCL, NULL,
 				 NULL);
 	if (IS_ERR(bdev))
 		ret =  PTR_ERR(bdev);