On Thu, 22 Sep 2016 17:24:22 -0700, Omar Sandoval wrote: > From: Omar Sandoval <osandov@xxxxxx> > > 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. > > Cc: stable@xxxxxxxxxxxxxxx # 4.5+ > Signed-off-by: Omar Sandoval <osandov@xxxxxx> Tested-by: Holger Hoffstätte <holger@xxxxxxxxxxxxxxxxxxxxxx> Initial mount with this successfully detected the absent _VALID bit; fst was rebuilt, subsequent mounts are good without rebuild. \o/ Thanks! Holger -- 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
