History

btrfs: re-instantiate the removed BTRFS_SUBVOL_CREATE_ASYNC definition

The commit 9c1036fdb1d1ff1b ("btrfs: Remove BTRFS_SUBVOL_CREATE_ASYNC support") breaks strace build with the kernel headers from git: btrfs.c: In function "btrfs_test_subvol_ioctls": btrfs.c:531:23: error: "BTRFS_SUBVOL_CREATE_ASYNC" undeclared (first use in this function) vol_args_v2.flags = BTRFS_SUBVOL_CREATE_ASYNC; Moreover, it is improper to break UAPI, strace uses the definitions to decode ioctls that are considered part of public API. Restore the macro definition and put it under "#ifndef __KERNEL__" in order to prevent inadvertent in-kernel usage.

Eugene Syromiatnikov committed 6 years ago

Commit 34c51811 parent d611add1 file · +4 −6Browse files

Showing the changes to include/uapi/linux (1 of 1 file). Show all

Unified · Split

include/uapi/linux/btrfs.h+4−6
@@ -36,12 +36,10 @@ struct btrfs_ioctl_vol_args { · 35 unmodified lines
3636 #define BTRFS_DEVICE_PATH_NAME_MAX 1024
3737 #define BTRFS_SUBVOL_NAME_MAX 4039
3838
39−/*
40− * Deprecated since 5.7:
41− *
42− * BTRFS_SUBVOL_CREATE_ASYNC (1ULL << 0)
43− */
44−
39+#ifndef __KERNEL__
40+/* Deprecated since 5.7 */
41+# define BTRFS_SUBVOL_CREATE_ASYNC (1ULL << 0)
42+#endif
4543 #define BTRFS_SUBVOL_RDONLY (1ULL << 1)
4644 #define BTRFS_SUBVOL_QGROUP_INHERIT (1ULL << 2)
4745