diff options
author | Chris Mason <clm@fb.com> | 2016-10-12 13:16:00 -0700 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2016-10-12 13:16:00 -0700 |
commit | d9ed71e5457c8c5bf1dc706e06468eab9e2aa87e (patch) | |
tree | ddc02c4207fc2c828ea4612d45f4af32d5dc292f /include | |
parent | 19c4d2f994788a954af1aa7e53b0fdb46fd7925a (diff) | |
parent | 0e6757859efea6ed919fc37e4ee468634220b2d2 (diff) | |
download | linux-d9ed71e5457c8c5bf1dc706e06468eab9e2aa87e.tar.bz2 |
Merge branch 'fst-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.9
Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/uapi/linux/btrfs.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/include/uapi/linux/btrfs.h b/include/uapi/linux/btrfs.h index ac5eacd3055b..db4c253f8011 100644 --- a/include/uapi/linux/btrfs.h +++ b/include/uapi/linux/btrfs.h @@ -239,7 +239,17 @@ struct btrfs_ioctl_fs_info_args { * Used by: * struct btrfs_ioctl_feature_flags */ -#define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE (1ULL << 0) +#define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE (1ULL << 0) +/* + * Older kernels (< 4.9) on big-endian systems produced broken free space tree + * bitmaps, and btrfs-progs also used to corrupt the free space tree (versions + * < 4.7.3). If this bit is clear, then the free space tree cannot be trusted. + * btrfs-progs can also intentionally clear this bit to ask the kernel to + * rebuild the free space tree, however this might not work on older kernels + * that do not know about this bit. If not sure, clear the cache manually on + * first mount when booting older kernel versions. + */ +#define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID (1ULL << 1) #define BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF (1ULL << 0) #define BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL (1ULL << 1) |