From: Lennart Poettering Date: Tue, 10 Oct 2023 16:27:33 +0000 (+0200) Subject: dissect: image size can be unset, suppres in JSON output then X-Git-Tag: v255-rc1~247^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1c5cc6c552cd9e178b4e4293ced42085c0caff96;p=thirdparty%2Fsystemd.git dissect: image size can be unset, suppres in JSON output then The ioctl() failure we handle gracefully, hence also reflect that in the JSON output. (While we are at it, bring JSON output into same order as textual output, i.e. move uuid down a bit.) --- diff --git a/src/dissect/dissect.c b/src/dissect/dissect.c index 888e84923ff..28cced4173b 100644 --- a/src/dissect/dissect.c +++ b/src/dissect/dissect.c @@ -906,10 +906,10 @@ static int action_dissect(DissectedImage *m, LoopDevice *d) { r = json_build(&v, JSON_BUILD_OBJECT( JSON_BUILD_PAIR("name", JSON_BUILD_STRING(bn)), - JSON_BUILD_PAIR_CONDITION(!sd_id128_is_null(m->image_uuid), "imageUuid", JSON_BUILD_UUID(m->image_uuid)), - JSON_BUILD_PAIR("size", JSON_BUILD_INTEGER(size)), + JSON_BUILD_PAIR_CONDITION(size != UINT64_MAX, "size", JSON_BUILD_INTEGER(size)), JSON_BUILD_PAIR("sectorSize", JSON_BUILD_INTEGER(m->sector_size)), JSON_BUILD_PAIR_CONDITION(a >= 0, "architecture", JSON_BUILD_STRING(architecture_to_string(a))), + JSON_BUILD_PAIR_CONDITION(!sd_id128_is_null(m->image_uuid), "imageUuid", JSON_BUILD_UUID(m->image_uuid)), JSON_BUILD_PAIR_CONDITION(m->hostname, "hostname", JSON_BUILD_STRING(m->hostname)), JSON_BUILD_PAIR_CONDITION(!sd_id128_is_null(m->machine_id), "machineId", JSON_BUILD_ID128(m->machine_id)), JSON_BUILD_PAIR_CONDITION(!strv_isempty(m->machine_info), "machineInfo", JSON_BUILD_STRV_ENV_PAIR(m->machine_info)),