According to the 4.7.10/4.8.4 kernel changelog (https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.8.4) >=btrfs-progs-4.7.3 is needed to fix possible invalid free space trees: Btrfs: catch invalid free space trees commit 6675df311db87aa2107a04ef97e19420953cbace upstream. There are two separate issues that can lead to corrupted free space trees. 1. The free space tree bitmaps had an endianness issue on big-endian systems which is fixed by an earlier patch in this series. 2. btrfs-progs before v4.7.3 modified filesystems without updating the free space tree. To catch both of these issues at once, we need to force the free space tree to be rebuilt. To do so, add a FREE_SPACE_TREE_VALID compat_ro bit. If the bit isn't set, we know that it was either produced by a broken big-endian kernel or may have been corrupted by btrfs-progs. This also provides us with a way to add rudimentary read-write support for the free space tree to btrfs-progs: it can just clear this bit and have the kernel rebuild the free space tree.
commit fe1b7ea328f81f5d1ea6976c02d81be726652bbd Author: Mike Gilbert <floppym@gentoo.org> Date: Sun Oct 23 13:16:17 2016 -0400 sys-fs/btrfs-progs: bump 4.7.3 and 4.8.1 Package-Manager: portage-2.3.2 sys-fs/btrfs-progs/Manifest | 3 ++- .../btrfs-progs/{btrfs-progs-4.7.2.ebuild => btrfs-progs-4.7.3.ebuild} | 0 .../btrfs-progs/{btrfs-progs-4.7.2.ebuild => btrfs-progs-4.8.1.ebuild} | 0 3 files changed, 2 insertions(+), 1 deletion(-)