The compat/compat_ro/incompat feature flags are used by the feature set/get ioctls.
Showing the changes to include/uapi (1 of 2 files). Show all
Unified · Split
| @@ -222,6 +222,37 @@ struct btrfs_ioctl_fs_info_args { · 221 unmodified lines | ||
| 222 | 222 | __u64 reserved[122]; /* pad to 1k */ |
| 223 | 223 | }; |
| 224 | 224 | |
| 225 | +/* | |
| 226 | + * feature flags | |
| 227 | + * | |
| 228 | + * Used by: | |
| 229 | + * struct btrfs_ioctl_feature_flags | |
| 230 | + */ | |
| 231 | +#define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE (1ULL << 0) | |
| 232 | + | |
| 233 | +#define BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF (1ULL << 0) | |
| 234 | +#define BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL (1ULL << 1) | |
| 235 | +#define BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS (1ULL << 2) | |
| 236 | +#define BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO (1ULL << 3) | |
| 237 | +/* | |
| 238 | + * some patches floated around with a second compression method | |
| 239 | + * lets save that incompat here for when they do get in | |
| 240 | + * Note we don't actually support it, we're just reserving the | |
| 241 | + * number | |
| 242 | + */ | |
| 243 | +#define BTRFS_FEATURE_INCOMPAT_COMPRESS_LZOv2 (1ULL << 4) | |
| 244 | + | |
| 245 | +/* | |
| 246 | + * older kernels tried to do bigger metadata blocks, but the | |
| 247 | + * code was pretty buggy. Lets not let them try anymore. | |
| 248 | + */ | |
| 249 | +#define BTRFS_FEATURE_INCOMPAT_BIG_METADATA (1ULL << 5) | |
| 250 | + | |
| 251 | +#define BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF (1ULL << 6) | |
| 252 | +#define BTRFS_FEATURE_INCOMPAT_RAID56 (1ULL << 7) | |
| 253 | +#define BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA (1ULL << 8) | |
| 254 | +#define BTRFS_FEATURE_INCOMPAT_NO_HOLES (1ULL << 9) | |
| 255 | + | |
| 225 | 256 | struct btrfs_ioctl_feature_flags { |
| 226 | 257 | __u64 compat_flags; |
| 227 | 258 | __u64 compat_ro_flags; |