From 895d071656c7053e39eef7d29be94b4b38ef4543 Mon Sep 17 00:00:00 2001 From: Henrik Grindal Bakken Date: Thu, 23 Mar 2017 15:30:57 +0100 Subject: [PATCH 1/8] btrfs: Include missing.h in btrfs-ctree.h --- src/basic/btrfs-ctree.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/basic/btrfs-ctree.h b/src/basic/btrfs-ctree.h index 66bdf9736e..c5a4244e37 100644 --- a/src/basic/btrfs-ctree.h +++ b/src/basic/btrfs-ctree.h @@ -1,6 +1,7 @@ #pragma once #include "macro.h" +#include "missing.h" #include "sparse-endian.h" /* Stolen from btrfs' ctree.h */ From 122b79079b877ad3ca7c1d2d9ec1f95b8935f8d4 Mon Sep 17 00:00:00 2001 From: Henrik Grindal Bakken Date: Thu, 23 Mar 2017 15:33:06 +0100 Subject: [PATCH 2/8] missing: Add some more btrfs structs and constants --- src/basic/missing.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/basic/missing.h b/src/basic/missing.h index 790f9f55a5..8b3f020090 100644 --- a/src/basic/missing.h +++ b/src/basic/missing.h @@ -206,6 +206,32 @@ struct sockaddr_vm { #endif #if ! HAVE_LINUX_BTRFS_H +#define BTRFS_IOC_QGROUP_ASSIGN _IOW(BTRFS_IOCTL_MAGIC, 41, \ + struct btrfs_ioctl_qgroup_assign_args) +#define BTRFS_IOC_QGROUP_CREATE _IOW(BTRFS_IOCTL_MAGIC, 42, \ + struct btrfs_ioctl_qgroup_create_args) +#define BTRFS_IOC_QUOTA_RESCAN _IOW(BTRFS_IOCTL_MAGIC, 44, \ + struct btrfs_ioctl_quota_rescan_args) +#define BTRFS_IOC_QUOTA_RESCAN_STATUS _IOR(BTRFS_IOCTL_MAGIC, 45, \ + struct btrfs_ioctl_quota_rescan_args) + +struct btrfs_ioctl_quota_rescan_args { + __u64 flags; + __u64 progress; + __u64 reserved[6]; +}; + +struct btrfs_ioctl_qgroup_assign_args { + __u64 assign; + __u64 src; + __u64 dst; +}; + +struct btrfs_ioctl_qgroup_create_args { + __u64 create; + __u64 qgroupid; +}; + struct btrfs_ioctl_vol_args { int64_t fd; char name[BTRFS_PATH_NAME_MAX + 1]; From 80ebe5c2a46ad3bf20f6abacb56cdd926e269ed4 Mon Sep 17 00:00:00 2001 From: Henrik Grindal Bakken Date: Thu, 23 Mar 2017 15:42:15 +0100 Subject: [PATCH 3/8] missing: Add PR_SET_MM_{ARG,ENV}_{START,END} --- src/basic/missing.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/basic/missing.h b/src/basic/missing.h index 8b3f020090..b01c36f33c 100644 --- a/src/basic/missing.h +++ b/src/basic/missing.h @@ -569,6 +569,22 @@ struct btrfs_ioctl_quota_ctl_args { #define PR_SET_CHILD_SUBREAPER 36 #endif +#ifndef PR_SET_MM_ARG_START +#define PR_SET_MM_ARG_START 8 +#endif + +#ifndef PR_SET_MM_ARG_END +#define PR_SET_MM_ARG_END 9 +#endif + +#ifndef PR_SET_MM_ENV_START +#define PR_SET_MM_ENV_START 10 +#endif + +#ifndef PR_SET_MM_ENV_END +#define PR_SET_MM_ENV_END 11 +#endif + #if ! HAVE_SECURE_GETENV # if HAVE___SECURE_GETENV # define secure_getenv __secure_getenv From 56766f99d9a659fc73138e5d19afec0325d54425 Mon Sep 17 00:00:00 2001 From: Henrik Grindal Bakken Date: Thu, 23 Mar 2017 16:07:33 +0100 Subject: [PATCH 4/8] missing: Add MAX_HANDLE_SZ --- src/basic/missing.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/basic/missing.h b/src/basic/missing.h index b01c36f33c..381e02dd96 100644 --- a/src/basic/missing.h +++ b/src/basic/missing.h @@ -585,6 +585,10 @@ struct btrfs_ioctl_quota_ctl_args { #define PR_SET_MM_ENV_END 11 #endif +#ifndef MAX_HANDLE_SZ +#define MAX_HANDLE_SZ 128 +#endif + #if ! HAVE_SECURE_GETENV # if HAVE___SECURE_GETENV # define secure_getenv __secure_getenv From 1381f244c842dbe38ba11b050570ff148ac4994f Mon Sep 17 00:00:00 2001 From: Henrik Grindal Bakken Date: Thu, 23 Mar 2017 16:02:20 +0100 Subject: [PATCH 5/8] missing: Define EFIVARFS_MAGIC if missing --- src/basic/missing.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/basic/missing.h b/src/basic/missing.h index 381e02dd96..3e2c0afc85 100644 --- a/src/basic/missing.h +++ b/src/basic/missing.h @@ -585,6 +585,10 @@ struct btrfs_ioctl_quota_ctl_args { #define PR_SET_MM_ENV_END 11 #endif +#ifndef EFIVARFS_MAGIC +#define EFIVARFS_MAGIC 0xde5e81e4 +#endif + #ifndef MAX_HANDLE_SZ #define MAX_HANDLE_SZ 128 #endif From cacc0d7a78abcdadd99efb247a8816b15a270357 Mon Sep 17 00:00:00 2001 From: Henrik Grindal Bakken Date: Thu, 23 Mar 2017 16:02:43 +0100 Subject: [PATCH 6/8] nspawn: Include missing.h --- src/nspawn/nspawn-stub-pid1.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/nspawn/nspawn-stub-pid1.c b/src/nspawn/nspawn-stub-pid1.c index 7f2f8f1f13..bb87eb1b62 100644 --- a/src/nspawn/nspawn-stub-pid1.c +++ b/src/nspawn/nspawn-stub-pid1.c @@ -25,6 +25,7 @@ #include "fd-util.h" #include "log.h" +#include "missing.h" #include "nspawn-stub-pid1.h" #include "process-util.h" #include "signal-util.h" From 8cbe9f06f4dc15d2f797d72a1f0e659c9bc9b560 Mon Sep 17 00:00:00 2001 From: Henrik Grindal Bakken Date: Thu, 23 Mar 2017 16:09:10 +0100 Subject: [PATCH 7/8] missing: Define SMACK_MAGIC if it's missing --- src/basic/missing.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/basic/missing.h b/src/basic/missing.h index 3e2c0afc85..20a1c5f1b9 100644 --- a/src/basic/missing.h +++ b/src/basic/missing.h @@ -589,6 +589,10 @@ struct btrfs_ioctl_quota_ctl_args { #define EFIVARFS_MAGIC 0xde5e81e4 #endif +#ifndef SMACK_MAGIC +#define SMACK_MAGIC 0x43415d53 +#endif + #ifndef MAX_HANDLE_SZ #define MAX_HANDLE_SZ 128 #endif From ffc01f0680d1d295e7b96d383070ab66e5e3bb51 Mon Sep 17 00:00:00 2001 From: Henrik Grindal Bakken Date: Thu, 23 Mar 2017 16:19:15 +0100 Subject: [PATCH 8/8] missing: Add DM_DEFERRED_REMOVE Also include missing.h in dissect-image.c to pick it up. --- src/basic/missing.h | 4 ++++ src/shared/dissect-image.c | 1 + 2 files changed, 5 insertions(+) diff --git a/src/basic/missing.h b/src/basic/missing.h index 20a1c5f1b9..66f0caf294 100644 --- a/src/basic/missing.h +++ b/src/basic/missing.h @@ -593,6 +593,10 @@ struct btrfs_ioctl_quota_ctl_args { #define SMACK_MAGIC 0x43415d53 #endif +#ifndef DM_DEFERRED_REMOVE +#define DM_DEFERRED_REMOVE (1 << 17) +#endif + #ifndef MAX_HANDLE_SZ #define MAX_HANDLE_SZ 128 #endif diff --git a/src/shared/dissect-image.c b/src/shared/dissect-image.c index e8d7db8f0c..a11d4849bb 100644 --- a/src/shared/dissect-image.c +++ b/src/shared/dissect-image.c @@ -38,6 +38,7 @@ #include "hostname-util.h" #include "id128-util.h" #include "linux-3.13/dm-ioctl.h" +#include "missing.h" #include "mount-util.h" #include "path-util.h" #include "process-util.h"