From: Daan De Meyer Date: Wed, 21 May 2025 12:16:30 +0000 (+0200) Subject: machine: Clean up includes X-Git-Tag: v258-rc1~546 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=64943cac5dc7c575425f19f45353bdecd4a97816;p=thirdparty%2Fsystemd.git machine: Clean up includes Split out of #37344. --- diff --git a/src/machine/image-dbus.c b/src/machine/image-dbus.c index 5ad765237cb..c91cedf12de 100644 --- a/src/machine/image-dbus.c +++ b/src/machine/image-dbus.c @@ -1,30 +1,24 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include -#include +#include "sd-bus.h" #include "alloc-util.h" #include "bus-get-properties.h" #include "bus-label.h" +#include "bus-object.h" #include "bus-polkit.h" #include "bus-util.h" -#include "copy.h" #include "discover-image.h" -#include "dissect-image.h" #include "fd-util.h" -#include "fileio.h" -#include "fs-util.h" +#include "hashmap.h" #include "image-dbus.h" +#include "image-policy.h" #include "io-util.h" -#include "loop-util.h" #include "machined.h" -#include "mount-util.h" #include "operation.h" #include "os-util.h" #include "process-util.h" -#include "raw-clone.h" #include "strv.h" -#include "user-util.h" static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_type, image_type, ImageType); diff --git a/src/machine/image-dbus.h b/src/machine/image-dbus.h index 38626cffe28..7218a1a0957 100644 --- a/src/machine/image-dbus.h +++ b/src/machine/image-dbus.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "bus-object.h" +#include "machine-forward.h" extern const BusObjectImplementation image_object; diff --git a/src/machine/image-varlink.c b/src/machine/image-varlink.c index c7bc684ab55..82ea7122e33 100644 --- a/src/machine/image-varlink.c +++ b/src/machine/image-varlink.c @@ -3,21 +3,19 @@ #include "sd-json.h" #include "sd-varlink.h" -#include "btrfs-util.h" #include "bus-polkit.h" #include "discover-image.h" +#include "errno-util.h" #include "fd-util.h" #include "fileio.h" #include "image.h" #include "image-varlink.h" #include "io-util.h" #include "json-util.h" -#include "machine.h" #include "machine-pool.h" #include "machined.h" #include "operation.h" #include "process-util.h" -#include "string-util.h" typedef struct ImageUpdateParameters { const char *name; diff --git a/src/machine/image-varlink.h b/src/machine/image-varlink.h index ab91b5eee14..267c4c6da5b 100644 --- a/src/machine/image-varlink.h +++ b/src/machine/image-varlink.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-varlink.h" +#include "machine-forward.h" #define VARLINK_ERROR_MACHINE_IMAGE_NO_SUCH_IMAGE "io.systemd.MachineImage.NoSuchImage" #define VARLINK_ERROR_MACHINE_IMAGE_TOO_MANY_OPERATIONS "io.systemd.MachineImage.TooManyOperations" diff --git a/src/machine/image.c b/src/machine/image.c index 41b40854d79..3e903b3f3f7 100644 --- a/src/machine/image.c +++ b/src/machine/image.c @@ -1,12 +1,15 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include "sd-json.h" +#include "sd-bus.h" #include "discover-image.h" +#include "errno-util.h" #include "fd-util.h" #include "fileio.h" +#include "hashmap.h" #include "image.h" #include "io-util.h" +#include "log.h" #include "machined.h" #include "operation.h" #include "process-util.h" diff --git a/src/machine/image.h b/src/machine/image.h index fc8de564e8b..353cdd68281 100644 --- a/src/machine/image.h +++ b/src/machine/image.h @@ -1,14 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -#include "sd-bus.h" - -#include "macro.h" - -typedef struct Manager Manager; -typedef struct Operation Operation; +#include "machine-forward.h" typedef enum ImageCleanPoolMode { IMAGE_CLEAN_POOL_REMOVE_ALL, diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c index de839099e08..c19b1a5beb0 100644 --- a/src/machine/machine-dbus.c +++ b/src/machine/machine-dbus.c @@ -1,41 +1,30 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include -#include -#include +#include "sd-bus.h" #include "alloc-util.h" #include "bus-common-errors.h" #include "bus-get-properties.h" -#include "bus-internal.h" #include "bus-label.h" -#include "bus-locator.h" +#include "bus-object.h" #include "bus-polkit.h" #include "bus-util.h" #include "copy.h" -#include "env-file.h" #include "env-util.h" +#include "errno-util.h" #include "fd-util.h" -#include "fileio.h" -#include "format-util.h" -#include "fs-util.h" +#include "hashmap.h" #include "in-addr-util.h" #include "local-addresses.h" #include "machine.h" #include "machine-dbus.h" #include "machined.h" -#include "mkdir.h" #include "mount-util.h" -#include "mountpoint-util.h" -#include "namespace-util.h" #include "operation.h" -#include "os-util.h" #include "path-util.h" -#include "process-util.h" #include "signal-util.h" +#include "string-util.h" #include "strv.h" -#include "terminal-util.h" -#include "user-util.h" static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_class, machine_class, MachineClass); static BUS_DEFINE_PROPERTY_GET2(property_get_state, "s", Machine, machine_get_state, machine_state_to_string); diff --git a/src/machine/machine-dbus.h b/src/machine/machine-dbus.h index 72b6984660d..7fd025f7b31 100644 --- a/src/machine/machine-dbus.h +++ b/src/machine/machine-dbus.h @@ -1,11 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-bus.h" - -#include "bus-object.h" - -typedef struct Machine Machine; +#include "machine-forward.h" typedef enum { MACHINE_COPY_REPLACE = 1 << 0, /* Public API via DBUS, do not change */ diff --git a/src/machine/machine-forward.h b/src/machine/machine-forward.h new file mode 100644 index 00000000000..81c33703927 --- /dev/null +++ b/src/machine/machine-forward.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +#pragma once + +#include "forward.h" // IWYU pragma: export + +typedef struct Machine Machine; +typedef struct Manager Manager; +typedef struct Operation Operation; diff --git a/src/machine/machine-varlink.c b/src/machine/machine-varlink.c index 7ee1a356cab..1c2013de51b 100644 --- a/src/machine/machine-varlink.c +++ b/src/machine/machine-varlink.c @@ -1,14 +1,14 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include - -#include "sd-id128.h" #include "sd-json.h" #include "sd-varlink.h" #include "bus-polkit.h" #include "copy.h" +#include "errno-util.h" #include "fd-util.h" +#include "format-util.h" +#include "hashmap.h" #include "hostname-util.h" #include "json-util.h" #include "machine.h" @@ -16,10 +16,7 @@ #include "machined.h" #include "mount-util.h" #include "operation.h" -#include "path-util.h" #include "pidref.h" -#include "process-util.h" -#include "signal-util.h" #include "socket-util.h" #include "string-table.h" #include "string-util.h" diff --git a/src/machine/machine-varlink.h b/src/machine/machine-varlink.h index 83f396d708b..7a0004ea902 100644 --- a/src/machine/machine-varlink.h +++ b/src/machine/machine-varlink.h @@ -3,10 +3,7 @@ #include "sd-varlink.h" -#include "pidref.h" - -typedef struct Machine Machine; -typedef struct Manager Manager; +#include "machine-forward.h" #define VARLINK_ERROR_MACHINE_NO_SUCH_MACHINE "io.systemd.Machine.NoSuchMachine" #define VARLINK_ERROR_MACHINE_EXISTS "io.systemd.Machine.MachineExists" diff --git a/src/machine/machine.c b/src/machine/machine.c index 09c10dc3501..9f78a9c7d33 100644 --- a/src/machine/machine.c +++ b/src/machine/machine.c @@ -1,9 +1,11 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include +#include #include #include +#include "sd-bus.h" +#include "sd-event.h" #include "sd-messages.h" #include "alloc-util.h" @@ -11,7 +13,6 @@ #include "bus-internal.h" #include "bus-locator.h" #include "bus-unit-util.h" -#include "bus-util.h" #include "env-file.h" #include "errno-util.h" #include "escape.h" @@ -21,6 +22,7 @@ #include "format-util.h" #include "fs-util.h" #include "hashmap.h" +#include "log.h" #include "machine.h" #include "machine-dbus.h" #include "machined.h" @@ -36,6 +38,7 @@ #include "stdio-util.h" #include "string-table.h" #include "string-util.h" +#include "strv.h" #include "terminal-util.h" #include "tmpfile-util.h" #include "uid-range.h" diff --git a/src/machine/machine.h b/src/machine/machine.h index a4b375ca32e..870146fc225 100644 --- a/src/machine/machine.h +++ b/src/machine/machine.h @@ -1,19 +1,14 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "sd-bus.h" -#include "sd-event.h" #include "sd-id128.h" #include "copy.h" #include "list.h" +#include "machine-forward.h" #include "pidref.h" #include "time-util.h" -typedef struct Machine Machine; -typedef struct Manager Manager; -typedef struct Operation Operation; - typedef enum MachineState { MACHINE_OPENING, /* Machine is being registered */ MACHINE_RUNNING, /* Machine is running */ @@ -37,7 +32,7 @@ typedef enum KillWhom { _KILL_WHOM_INVALID = -EINVAL, } KillWhom; -struct Machine { +typedef struct Machine { Manager *manager; char *name; @@ -75,7 +70,7 @@ struct Machine { LIST_HEAD(Operation, operations); LIST_FIELDS(Machine, gc_queue); -}; +} Machine; int machine_new(MachineClass class, const char *name, Machine **ret); int machine_link(Manager *manager, Machine *machine); diff --git a/src/machine/machinectl.c b/src/machine/machinectl.c index 4cd670748e1..07fdb996e9b 100644 --- a/src/machine/machinectl.c +++ b/src/machine/machinectl.c @@ -1,17 +1,14 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include -#include -#include #include -#include +#include #include -#include -#include #include #include #include "sd-bus.h" +#include "sd-event.h" +#include "sd-journal.h" #include "alloc-util.h" #include "ask-password-agent.h" @@ -28,24 +25,19 @@ #include "bus-wait-for-jobs.h" #include "cgroup-show.h" #include "cgroup-util.h" -#include "constants.h" -#include "copy.h" #include "edit-util.h" #include "env-util.h" -#include "fd-util.h" +#include "format-util.h" #include "format-ifname.h" #include "format-table.h" #include "hostname-util.h" #include "import-util.h" #include "in-addr-util.h" #include "label-util.h" -#include "locale-util.h" #include "log.h" #include "logs-show.h" #include "machine-dbus.h" -#include "macro.h" #include "main-func.h" -#include "mkdir.h" #include "nulstr-util.h" #include "osc-context.h" #include "pager.h" @@ -56,16 +48,15 @@ #include "pretty-print.h" #include "process-util.h" #include "ptyfwd.h" -#include "rlimit-util.h" -#include "signal-util.h" -#include "sort-util.h" +#include "runtime-scope.h" #include "stdio-util.h" #include "string-table.h" +#include "string-util.h" #include "strv.h" #include "terminal-util.h" +#include "time-util.h" #include "unit-name.h" #include "verbs.h" -#include "web-util.h" typedef enum MachineRunner { RUNNER_NSPAWN, diff --git a/src/machine/machined-core.c b/src/machine/machined-core.c index d5804b54abd..b87974a5dc2 100644 --- a/src/machine/machined-core.c +++ b/src/machine/machined-core.c @@ -1,19 +1,20 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include "sd-event.h" #include "cgroup-util.h" #include "copy.h" #include "discover-image.h" #include "env-file.h" #include "fd-util.h" #include "fileio.h" -#include "iovec-util.h" +#include "hashmap.h" +#include "local-addresses.h" #include "log.h" #include "machine.h" #include "machined.h" #include "namespace-util.h" #include "os-util.h" #include "process-util.h" -#include "socket-util.h" #include "strv.h" #include "user-util.h" diff --git a/src/machine/machined-dbus.c b/src/machine/machined-dbus.c index 3be1ec0cddd..014c0267637 100644 --- a/src/machine/machined-dbus.c +++ b/src/machine/machined-dbus.c @@ -1,8 +1,8 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include +#include "sd-bus.h" #include "sd-id128.h" #include "alloc-util.h" @@ -11,6 +11,7 @@ #include "bus-get-properties.h" #include "bus-locator.h" #include "bus-message-util.h" +#include "bus-object.h" #include "bus-polkit.h" #include "bus-util.h" #include "cgroup-util.h" @@ -19,6 +20,7 @@ #include "fd-util.h" #include "fileio.h" #include "format-util.h" +#include "hashmap.h" #include "hostname-util.h" #include "image.h" #include "image-dbus.h" @@ -30,10 +32,9 @@ #include "operation.h" #include "os-util.h" #include "path-util.h" -#include "process-util.h" -#include "stdio-util.h" +#include "string-util.h" #include "strv.h" -#include "unit-name.h" +#include "unit-def.h" #include "user-util.h" static BUS_DEFINE_PROPERTY_GET_GLOBAL(property_get_pool_path, "s", "/var/lib/machines"); diff --git a/src/machine/machined-varlink.c b/src/machine/machined-varlink.c index 5aeb0f797c1..b429ceb974c 100644 --- a/src/machine/machined-varlink.c +++ b/src/machine/machined-varlink.c @@ -1,20 +1,25 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include + +#include "sd-event.h" #include "sd-varlink.h" #include "bus-polkit.h" #include "discover-image.h" +#include "errno-util.h" #include "format-util.h" -#include "hostname-util.h" +#include "hashmap.h" +#include "image-policy.h" #include "image-varlink.h" #include "json-util.h" +#include "local-addresses.h" #include "machine.h" #include "machine-varlink.h" #include "machined.h" #include "machined-varlink.h" -#include "mkdir.h" -#include "process-util.h" -#include "socket-util.h" +#include "string-util.h" +#include "strv.h" #include "user-util.h" #include "varlink-io.systemd.Machine.h" #include "varlink-io.systemd.MachineImage.h" diff --git a/src/machine/machined-varlink.h b/src/machine/machined-varlink.h index b96700719bf..cdf3a582dc8 100644 --- a/src/machine/machined-varlink.h +++ b/src/machine/machined-varlink.h @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -typedef struct Manager Manager; +#include "machine-forward.h" int manager_varlink_init(Manager *m); void manager_varlink_done(Manager *m); diff --git a/src/machine/machined.c b/src/machine/machined.c index 722b2363dcc..7f463f174bd 100644 --- a/src/machine/machined.c +++ b/src/machine/machined.c @@ -1,24 +1,25 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include #include -#include -#include + +#include "sd-bus.h" +#include "sd-event.h" +#include "sd-varlink.h" #include "alloc-util.h" -#include "bus-error.h" #include "bus-locator.h" #include "bus-log-control-api.h" -#include "bus-polkit.h" +#include "bus-object.h" #include "bus-util.h" -#include "cgroup-util.h" #include "common-signal.h" +#include "constants.h" #include "daemon-util.h" #include "dirent-util.h" -#include "discover-image.h" +#include "errno-util.h" #include "fd-util.h" -#include "format-util.h" +#include "hash-funcs.h" +#include "hashmap.h" #include "hostname-util.h" #include "machine.h" #include "machined.h" @@ -26,11 +27,11 @@ #include "main-func.h" #include "mkdir-label.h" #include "operation.h" -#include "process-util.h" #include "service-util.h" #include "signal-util.h" #include "socket-util.h" #include "special.h" +#include "string-util.h" static Manager* manager_unref(Manager *m); DEFINE_TRIVIAL_CLEANUP_FUNC(Manager*, manager_unref); diff --git a/src/machine/machined.h b/src/machine/machined.h index 10de674e7f7..b1d9ce1d553 100644 --- a/src/machine/machined.h +++ b/src/machine/machined.h @@ -1,23 +1,10 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -#include "sd-bus.h" -#include "sd-event.h" -#include "sd-varlink.h" - -#include "bus-object.h" -#include "hashmap.h" #include "list.h" -#include "local-addresses.h" -#include "pidref.h" +#include "machine-forward.h" #include "runtime-scope.h" -typedef struct Image Image; -typedef struct Machine Machine; -typedef struct Operation Operation; - typedef struct Manager { sd_event *event; sd_bus *bus; diff --git a/src/machine/operation.c b/src/machine/operation.c index 22168a3670f..a624cb35fd7 100644 --- a/src/machine/operation.c +++ b/src/machine/operation.c @@ -3,8 +3,13 @@ #include #include +#include "sd-bus.h" +#include "sd-event.h" +#include "sd-varlink.h" + #include "alloc-util.h" #include "fd-util.h" +#include "format-util.h" #include "log.h" #include "machine.h" #include "machined.h" @@ -158,3 +163,21 @@ Operation *operation_free(Operation *o) { return mfree(o); } + +void operation_attach_bus_reply(Operation *op, sd_bus_message *message) { + assert(op); + assert(!op->message); + assert(!op->link); + assert(message); + + op->message = sd_bus_message_ref(message); +} + +void operation_attach_varlink_reply(Operation *op, sd_varlink *link) { + assert(op); + assert(!op->message); + assert(!op->link); + assert(link); + + op->link = sd_varlink_ref(link); +} diff --git a/src/machine/operation.h b/src/machine/operation.h index 330ef0bf98b..2425694aff1 100644 --- a/src/machine/operation.h +++ b/src/machine/operation.h @@ -1,22 +1,12 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -#include "sd-bus.h" -#include "sd-event.h" -#include "sd-varlink.h" - -#include "assert-util.h" #include "list.h" - -typedef struct Machine Machine; -typedef struct Manager Manager; -typedef struct Operation Operation; +#include "machine-forward.h" #define OPERATIONS_MAX 64 -struct Operation { +typedef struct Operation { Manager *manager; Machine *machine; pid_t pid; @@ -31,28 +21,13 @@ struct Operation { int (*done)(Operation *o, int ret, sd_bus_error *error); LIST_FIELDS(Operation, operations); LIST_FIELDS(Operation, operations_by_machine); -}; +} Operation; int operation_new(Manager *manager, Machine *machine, pid_t child, int errno_fd, Operation **ret); Operation *operation_free(Operation *o); -static inline void operation_attach_bus_reply(Operation *op, sd_bus_message *message) { - assert(op); - assert(!op->message); - assert(!op->link); - assert(message); - - op->message = sd_bus_message_ref(message); -} - -static inline void operation_attach_varlink_reply(Operation *op, sd_varlink *link) { - assert(op); - assert(!op->message); - assert(!op->link); - assert(link); - - op->link = sd_varlink_ref(link); -} +void operation_attach_bus_reply(Operation *op, sd_bus_message *message); +void operation_attach_varlink_reply(Operation *op, sd_varlink *link); static inline int operation_new_with_bus_reply( Manager *manager,