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 | 36 | #define BTRFS_DEVICE_PATH_NAME_MAX 1024 |
| 37 | 37 | #define BTRFS_SUBVOL_NAME_MAX 4039 |
| 38 | 38 | |
| 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 | |
| 45 | 43 | #define BTRFS_SUBVOL_RDONLY (1ULL << 1) |
| 46 | 44 | #define BTRFS_SUBVOL_QGROUP_INHERIT (1ULL << 2) |
| 47 | 45 | |