Btrfs: Fix wrong device size when we are resizing the device
authorMiao Xie <miaox@cn.fujitsu.com>
Thu, 24 Jul 2014 03:37:13 +0000 (11:37 +0800)
committerChris Mason <clm@fb.com>
Tue, 19 Aug 2014 15:52:18 +0000 (08:52 -0700)
commit7df69d3e94d6de537fd1afb574c760d8dc83ab60
tree045b628d8ac40f125bd62e4228516b9a191b87c1
parent5d68da3b8ee6eb2257aa4b8d885581782278ae93
Btrfs: Fix wrong device size when we are resizing the device

total_bytes of device is just a in-memory variant which is used to record
the size of the device, and it might be changed before we resize a device,
if the resize operation fails, it will be fallbacked. But some code used it
to update on-disk metadata of the device, it would cause the problem that
on-disk metadata of the devices was not consistent. We should use the other
variant named disk_total_bytes to update the on-disk metadata of device,
because that variant is updated only when the resize operation is successful.
Fix it.

Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
fs/btrfs/disk-io.c
fs/btrfs/volumes.c