summaryrefslogtreecommitdiffstats
path: root/drivers/md/md.c
diff options
context:
space:
mode:
authorJason Yan <yanaijie@huawei.com>2017-03-09 22:27:23 -0500
committerShaohua Li <shli@fb.com>2017-03-10 15:54:37 -0500
commit3fb632e40d7667d8bedfabc28850ac06d5493f54 (patch)
treeed78f6f9076799bf9d9c3ba1726512b3a75ba115 /drivers/md/md.c
parent61eb2b43b99ebdc9bc6bc83d9792257b243e7cb3 (diff)
md: fix super_offset endianness in super_1_rdev_size_change
The sb->super_offset should be big-endian, but the rdev->sb_start is in host byte order, so fix this by adding cpu_to_le64. Signed-off-by: Jason Yan <yanaijie@huawei.com> Signed-off-by: Shaohua Li <shli@fb.com>
Diffstat (limited to 'drivers/md/md.c')
-rw-r--r--drivers/md/md.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index cd89ad3c3a0d..6e76d97a8fc3 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -1879,7 +1879,7 @@ super_1_rdev_size_change(struct md_rdev *rdev, sector_t num_sectors)
1879 } 1879 }
1880 sb = page_address(rdev->sb_page); 1880 sb = page_address(rdev->sb_page);
1881 sb->data_size = cpu_to_le64(num_sectors); 1881 sb->data_size = cpu_to_le64(num_sectors);
1882 sb->super_offset = rdev->sb_start; 1882 sb->super_offset = cpu_to_le64(rdev->sb_start);
1883 sb->sb_csum = calc_sb_1_csum(sb); 1883 sb->sb_csum = calc_sb_1_csum(sb);
1884 do { 1884 do {
1885 md_super_write(rdev->mddev, rdev, rdev->sb_start, rdev->sb_size, 1885 md_super_write(rdev->mddev, rdev, rdev->sb_start, rdev->sb_size,