btrfs: store and load values of stripes_min/stripes_max in balance status item
The balance status item contains currently known filter values, but the
stripes filter was unintentionally not among them. This would mean, that
interrupted and automatically restarted balance does not apply the
stripe filters.
Fixes: dee32d0ac3
CC: stable@vger.kernel.org # 4.4+
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
4d5106a126
commit
ed0df618b1
|
@ -2210,6 +2210,8 @@ btrfs_disk_balance_args_to_cpu(struct btrfs_balance_args *cpu,
|
||||||
cpu->target = le64_to_cpu(disk->target);
|
cpu->target = le64_to_cpu(disk->target);
|
||||||
cpu->flags = le64_to_cpu(disk->flags);
|
cpu->flags = le64_to_cpu(disk->flags);
|
||||||
cpu->limit = le64_to_cpu(disk->limit);
|
cpu->limit = le64_to_cpu(disk->limit);
|
||||||
|
cpu->stripes_min = le32_to_cpu(disk->stripes_min);
|
||||||
|
cpu->stripes_max = le32_to_cpu(disk->stripes_max);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
|
@ -2228,6 +2230,8 @@ btrfs_cpu_balance_args_to_disk(struct btrfs_disk_balance_args *disk,
|
||||||
disk->target = cpu_to_le64(cpu->target);
|
disk->target = cpu_to_le64(cpu->target);
|
||||||
disk->flags = cpu_to_le64(cpu->flags);
|
disk->flags = cpu_to_le64(cpu->flags);
|
||||||
disk->limit = cpu_to_le64(cpu->limit);
|
disk->limit = cpu_to_le64(cpu->limit);
|
||||||
|
disk->stripes_min = cpu_to_le32(cpu->stripes_min);
|
||||||
|
disk->stripes_max = cpu_to_le32(cpu->stripes_max);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* struct btrfs_super_block */
|
/* struct btrfs_super_block */
|
||||||
|
|
Loading…
Reference in New Issue