On Wed, May 17, 2017 at 02:41:21AM +0100, fdmanana@xxxxxxxxxx wrote:
> From: Filipe Manana <fdmanana@xxxxxxxx>
>
> We correctly build an image from a multiple devices filesystem but when
> restoring the image into a single device we were missing updating the
> number of devices in the superblock to the value 1 (we already took care
> of setting the number of stripes to 1 for each chunk item and setting
> the device id for each chunk item to match the device id from the super
> block).
>
> This missing update of the number of devices makes it impossible to mount
> the restored filesystem on recent kernels, more specifically since the
> linux kernel commit 99e3ecfcb9f4ca35192d20a5bea158b81f600062
> ("Btrfs: add more validation checks for superblock"), that produce the
> following message in the dmesg/syslog:
>
> [21097.542047] BTRFS error (device sdi): super_num_devices 2 mismatch with num_devices 1 found here
> [21097.543972] BTRFS error (device sdi): failed to read chunk tree: -22
> [21097.720360] BTRFS error (device sdi): open_ctree failed
>
> So fix this by updating the number of devices to 1 in the superblock.
>
> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
Looks good.
Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx>
Thanks,
-liubo
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html