]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - super1.c
Fix byte-order conversion in update_super1("assemble")
[thirdparty/mdadm.git] / super1.c
index 01473d14e68897666d0ef536df01d32ebf1aac30..0eb03230a79fd4b8bf791f2b5057be5ee0db83be 100644 (file)
--- a/super1.c
+++ b/super1.c
@@ -673,11 +673,11 @@ static int update_super1(struct supertype *st, struct mdinfo *info,
                int d = info->disk.number;
                int want;
                if (info->disk.state == 6)
-                       want = __cpu_to_le32(info->disk.raid_disk);
+                       want = info->disk.raid_disk;
                else
                        want = 0xFFFF;
-               if (sb->dev_roles[d] != want) {
-                       sb->dev_roles[d] = want;
+               if (sb->dev_roles[d] != __cpu_to_le16(want)) {
+                       sb->dev_roles[d] = __cpu_to_le16(want);
                        rv = 1;
                }
        }