From: Ivan Kruglov Date: Tue, 22 Oct 2024 09:00:41 +0000 (+0200) Subject: machine: use ImageUpdateParameters in io.systemd.MachineImage.Update X-Git-Tag: v257-rc1~50^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=88d0b72833076f1f35c2bbe509342064e16cbd32;p=thirdparty%2Fsystemd.git machine: use ImageUpdateParameters in io.systemd.MachineImage.Update --- diff --git a/src/machine/image-varlink.c b/src/machine/image-varlink.c index 9254d0beb6d..5eb636960de 100644 --- a/src/machine/image-varlink.c +++ b/src/machine/image-varlink.c @@ -13,35 +13,27 @@ typedef struct ImageUpdateParameters { const char *name; const char *new_name; int read_only; + uint64_t limit; } ImageUpdateParameters; #define IMAGE_UPDATE_PARAMETERS_NULL \ (ImageUpdateParameters) { \ .read_only = -1, \ + .limit = UINT64_MAX, \ } int vl_method_update_image(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata) { - struct params { - const char *image_name; - const char *new_name; - int read_only; - uint64_t limit; - }; - static const sd_json_dispatch_field dispatch_table[] = { - { "name", SD_JSON_VARIANT_STRING, sd_json_dispatch_const_string, offsetof(struct params, image_name), SD_JSON_MANDATORY }, - { "newName", SD_JSON_VARIANT_STRING, sd_json_dispatch_const_string, offsetof(struct params, new_name), 0 }, - { "readOnly", SD_JSON_VARIANT_BOOLEAN, sd_json_dispatch_tristate, offsetof(struct params, read_only), 0 }, - { "limit", _SD_JSON_VARIANT_TYPE_INVALID, sd_json_dispatch_uint64, offsetof(struct params, limit), 0 }, + { "name", SD_JSON_VARIANT_STRING, sd_json_dispatch_const_string, offsetof(ImageUpdateParameters, name), SD_JSON_MANDATORY }, + { "newName", SD_JSON_VARIANT_STRING, sd_json_dispatch_const_string, offsetof(ImageUpdateParameters, new_name), 0 }, + { "readOnly", SD_JSON_VARIANT_BOOLEAN, sd_json_dispatch_tristate, offsetof(ImageUpdateParameters, read_only), 0 }, + { "limit", _SD_JSON_VARIANT_TYPE_INVALID, sd_json_dispatch_uint64, offsetof(ImageUpdateParameters, limit), 0 }, VARLINK_DISPATCH_POLKIT_FIELD, {} }; Manager *manager = ASSERT_PTR(userdata); - struct params p = { - .read_only = -1, - .limit = UINT64_MAX, - }; + ImageUpdateParameters p = IMAGE_UPDATE_PARAMETERS_NULL; Image *image; int r, ret = 0; @@ -52,13 +44,13 @@ int vl_method_update_image(sd_varlink *link, sd_json_variant *parameters, sd_var if (r != 0) return r; - if (!image_name_is_valid(p.image_name)) + if (!image_name_is_valid(p.name)) return sd_varlink_error_invalid_parameter_name(link, "name"); if (p.new_name && !image_name_is_valid(p.new_name)) return sd_varlink_error_invalid_parameter_name(link, "newName"); - r = manager_acquire_image(manager, p.image_name, &image); + r = manager_acquire_image(manager, p.name, &image); if (r == -ENOENT) return sd_varlink_error(link, "io.systemd.MachineImage.NoSuchImage", NULL); if (r < 0)