md: use correct type in super_1_load

If we want to convert from a little endian format we need to cast
to a little endian type, otherwise sparse will be unhappy.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Song Liu <songliubraving@fb.com>
This commit is contained in:
Christoph Hellwig 2019-04-04 18:56:12 +02:00 committed by Song Liu
parent c35403f82c
commit 00485d0942

View file

@ -1548,7 +1548,7 @@ static int super_1_load(struct md_rdev *rdev, struct md_rdev *refdev, int minor_
*/ */
s32 offset; s32 offset;
sector_t bb_sector; sector_t bb_sector;
u64 *bbp; __le64 *bbp;
int i; int i;
int sectors = le16_to_cpu(sb->bblog_size); int sectors = le16_to_cpu(sb->bblog_size);
if (sectors > (PAGE_SIZE / 512)) if (sectors > (PAGE_SIZE / 512))
@ -1560,7 +1560,7 @@ static int super_1_load(struct md_rdev *rdev, struct md_rdev *refdev, int minor_
if (!sync_page_io(rdev, bb_sector, sectors << 9, if (!sync_page_io(rdev, bb_sector, sectors << 9,
rdev->bb_page, REQ_OP_READ, 0, true)) rdev->bb_page, REQ_OP_READ, 0, true))
return -EIO; return -EIO;
bbp = (u64 *)page_address(rdev->bb_page); bbp = (__le64 *)page_address(rdev->bb_page);
rdev->badblocks.shift = sb->bblog_shift; rdev->badblocks.shift = sb->bblog_shift;
for (i = 0 ; i < (sectors << (9-3)) ; i++, bbp++) { for (i = 0 ; i < (sectors << (9-3)) ; i++, bbp++) {
u64 bb = le64_to_cpu(*bbp); u64 bb = le64_to_cpu(*bbp);