aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/md.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2019-04-04 18:56:10 +0200
committerSong Liu <songliubraving@fb.com>2019-04-10 15:26:08 -0700
commited4d0a4ea11e19863952ac6a7cea3bbb27ccd452 (patch)
tree51f45640f09b39203fa8d71ff8fef4d1271c1531 /drivers/md/md.c
parentmd: add mddev->pers to avoid potential NULL pointer dereference (diff)
downloadlinux-dev-ed4d0a4ea11e19863952ac6a7cea3bbb27ccd452.tar.xz
linux-dev-ed4d0a4ea11e19863952ac6a7cea3bbb27ccd452.zip
md: add a missing endianness conversion in check_sb_changes
The on-disk value is little endian and we need to convert it to native endian before storing the value in the in-core structure. Fixes: 7564beda19b36 ("md-cluster/raid10: support add disk under grow mode") Cc: <stable@vger.kernel.org> # 4.20+ Acked-by: Guoqing Jiang <gqjiang@suse.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Song Liu <songliubraving@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 664b77ceaf2d..a15eb7e37c6d 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -9227,7 +9227,7 @@ static void check_sb_changes(struct mddev *mddev, struct md_rdev *rdev)
* reshape is happening in the remote node, we need to
* update reshape_position and call start_reshape.
*/
- mddev->reshape_position = sb->reshape_position;
+ mddev->reshape_position = le64_to_cpu(sb->reshape_position);
if (mddev->pers->update_reshape_pos)
mddev->pers->update_reshape_pos(mddev);
if (mddev->pers->start_reshape)