History

btrfs: uapi/linux/btrfs.h migration, move feature flags

The compat/compat_ro/incompat feature flags are used by the feature set/get ioctls.

Jeff Mahoney committed 10 years ago

Commit 18db9ac1 parent 884f6ec2 files · +31 −25Browse files

Showing the changes to include/uapi (1 of 2 files). Show all

Unified · Split

include/uapi/linux/btrfs.h+31−0
@@ -222,6 +222,37 @@ struct btrfs_ioctl_fs_info_args { · 221 unmodified lines
222222 __u64 reserved[122]; /* pad to 1k */
223223 };
224224
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+
225256 struct btrfs_ioctl_feature_flags {
226257 __u64 compat_flags;
227258 __u64 compat_ro_flags;