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.
Showing the changes to include/uapi/linux (1 of 1 file). Show all
Unified · Split
| @@ -36,12 +36,10 @@ struct btrfs_ioctl_vol_args { · 35 unmodified lines | |||
| 36 | #define BTRFS_DEVICE_PATH_NAME_MAX 1024 | 36 | #define BTRFS_DEVICE_PATH_NAME_MAX 1024 |
| 37 | #define BTRFS_SUBVOL_NAME_MAX 4039 | 37 | #define BTRFS_SUBVOL_NAME_MAX 4039 |
| 38 | 38 | ||
| 39 | /* | 39 | #ifndef __KERNEL__ |
| 40 | * Deprecated since 5.7: | 40 | /* Deprecated since 5.7 */ |
| 41 | * | 41 | # define BTRFS_SUBVOL_CREATE_ASYNC (1ULL << 0) |
| 42 | * BTRFS_SUBVOL_CREATE_ASYNC (1ULL << 0) | 42 | #endif |
| 43 | */ | ||
| 44 | |||
| 45 | #define BTRFS_SUBVOL_RDONLY (1ULL << 1) | 43 | #define BTRFS_SUBVOL_RDONLY (1ULL << 1) |
| 46 | #define BTRFS_SUBVOL_QGROUP_INHERIT (1ULL << 2) | 44 | #define BTRFS_SUBVOL_QGROUP_INHERIT (1ULL << 2) |
| 47 | 45 | ||