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
36#define BTRFS_DEVICE_PATH_NAME_MAX 102436#define BTRFS_DEVICE_PATH_NAME_MAX 1024
37#define BTRFS_SUBVOL_NAME_MAX 403937#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