From patchwork Mon May 17 09:32:28 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Hilliard X-Patchwork-Id: 1479319 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2607:f8b0:4864:20::1037; helo=mail-pj1-x1037.google.com; envelope-from=swupdate+bncbcl4hcw73qcbbm7qrccqmgqetvir6ji@googlegroups.com; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=googlegroups.com header.i=@googlegroups.com header.a=rsa-sha256 header.s=20161025 header.b=K5NOng1Z; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=XZ8J5B1Y; dkim-atps=neutral Received: from mail-pj1-x1037.google.com (mail-pj1-x1037.google.com [IPv6:2607:f8b0:4864:20::1037]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FkDSR4YXxz9sRf for ; Mon, 17 May 2021 19:32:38 +1000 (AEST) Received: by mail-pj1-x1037.google.com with SMTP id l3-20020a17090aa4c3b029015634c426b5sf6353483pjw.9 for ; Mon, 17 May 2021 02:32:38 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1621243955; cv=pass; d=google.com; s=arc-20160816; b=lUt/H8gZXstgLlNZQ5XrYAKfNFfGcDEg9GqEWRttYL6+0Vf0HVeyizhlwm3Y4lQLcC R2kPZtdCUemygrDh81gv7Ij6uoY3ZS4BGfMrJjnTS+NYLE1TtKU3UPB3QQrHCy4a/I+F eSmX6ysdB5bUaxdKWz0IGRqzl+aO+dOINOo7JxN53XcfAURYQ/RrUCNCSae9sN1eknfL VnvoT5dv6JEvUgP8PJo6olBpx8oIPhA1/r3RwOxW0e3e+B1r99CljRy1JPFp36tFyG9f v9/AwBbms19htSidxgNyzjB/QHx8f9+DpRnP4Nq3ND58w3Y73jxPmDfLxVea0rrtK4e7 ETSQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:message-id:date :subject:cc:to:from:sender:dkim-signature:dkim-signature; bh=RzcxZORuqL05XA2uQgiu4wEH+AyejXtBHN4IdFPtAb0=; b=jbUYq+ptP5vGTJaFXNWutaq90c+n43pRoRghrGRTQSCh0SON4LSOjgVvaY84+OAL2n nc0Bh3FYhmW5rI0yrZz3aMsAOnFi/CUOCuKw90QgPwAUiqRtUExde3FoL+9d4UB7zMTB Vsh8RGMKYzwVQqYGv8xbD/BzrmAG1edbdJbm8S/B8FE1lmdgexZ9EZ7pqTqu8iHWMQwW SDavmiuBF78h0ZfcudI/YyPTAkj/taKQkym2lnC7KSgG9EjNr7xRR98aUPyJh79Yls8s opVlQMaZYj1ntzh8OOEHFeO1tK/upa+iFIEoOsJu+8G/Q1uEYQDeUhH7IGvB67T3vH2F +RjA== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=OuWznPFm; spf=pass (google.com: domain of james.hilliard1@gmail.com designates 2607:f8b0:4864:20::d2e as permitted sender) smtp.mailfrom=james.hilliard1@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :x-original-sender:x-original-authentication-results:precedence :mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=RzcxZORuqL05XA2uQgiu4wEH+AyejXtBHN4IdFPtAb0=; b=K5NOng1ZIEBvwvmu0ehyJRRICeKtkovuoDfOshrZj/zqMm//VorHTCCAq2OWnsHKHW GRpt8rTMJUyE9x5S4aG+92e3lUOldp67ez97NzGHzwc3QjqdOXv3gpzxgdMw+H2TBGny RhtISLIONaFOmfPviEgUJ1/skSuvA38ysuqHWbELDEtvvmCgL9PRLjAxUmspw3BKR7Qh erv4MtmbwDjjRRLvtgKzwRgyi0Y4CNHtCSM9eQzGSb3Ev6rBx60LyBXa+Mf+uczwSGhy bbkiMlrIyZeqk2nPOPQUg0beMdifpzfeOFJkPFQqAbbILWDcaR1uNug6pjbRIiiRjeaX J+pQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :list-post:list-help:list-archive:list-subscribe:list-unsubscribe; bh=RzcxZORuqL05XA2uQgiu4wEH+AyejXtBHN4IdFPtAb0=; b=XZ8J5B1YwScgrNosGUX1u7U6meD5Xe/4h8E0eKOzaeYxGlaX6hz/4gZgCse574Bxs7 gE1Y8ny8aDBJDmelyVi/zYRTe40uNCMMHjEOUCsKmQMEAwsMwiWpl5eXL5p2NcXdz/mj /FYJt26TjIvhEdjUQdZXEF5u9ulm56DPUuaVJt79d2HWdJv9HmRHIH77iJgYli3gbQ46 TzM5gEXjxiP/TC9HJDB2wOgCOhZCZO7DPVhYaHqw9y8NG54yOzmossOZC1L/fpLgG/Pm X6VV5yDx0jYn50FJEBWU/SnMQgqtgxNri36qmkntQu7UeDZuU6lCSNeU+cO48uzfqi/r j+5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=sender:x-gm-message-state:from:to:cc:subject:date:message-id :mime-version:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:x-spam-checked-in-group:list-post :list-help:list-archive:list-subscribe:list-unsubscribe; bh=RzcxZORuqL05XA2uQgiu4wEH+AyejXtBHN4IdFPtAb0=; b=VyhC/PLdjng19xF4bP8mR1on7kGXNYTnmF8gsNVwLNoqbxWr3fu8nb5E024uI+yNy/ alF5dVkrK3Jm1xiWsITfczWBMSj2cXlOIR3B05f5oPHC9HuJOtjMqooQ1TQJqdBfaK2t ffbGuH4nj5quOjbgfAQPTKxoCw7giYdcjERHtE9BKlCZMvCEFrpsgWA1xnrdcq458krU FPbbP5RMkk6HNdInDLxGU9JSdP3jk4sDx+0L4vaT455lEaf5ykyymcNMZahnhG+C553o EjY38I+yPaka0Fq7tHI+gFdi3pAHBpe1YF/gTVaODqa0MhFWJsHIfoSPjrhvG0gxyCEV cIDw== Sender: swupdate@googlegroups.com X-Gm-Message-State: AOAM532KDOHeNJACGGCL9PSiFSOVM6RaIiBzYYGuFa0rJcBVtazioZRs WJ+Klolf5vmnJE1HhlAaRzQ= X-Google-Smtp-Source: ABdhPJyoQBNePmbBTogBeR9zR4gquFPX5ktl5gOefag8vS5pBmktnZZcLIrRM3C3ok7RCOMLPw1mxw== X-Received: by 2002:a63:3686:: with SMTP id d128mr4528116pga.305.1621243955518; Mon, 17 May 2021 02:32:35 -0700 (PDT) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a65:6183:: with SMTP id c3ls7448886pgv.6.gmail; Mon, 17 May 2021 02:32:34 -0700 (PDT) X-Received: by 2002:a63:f245:: with SMTP id d5mr29533822pgk.416.1621243954835; Mon, 17 May 2021 02:32:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621243954; cv=none; d=google.com; s=arc-20160816; b=pxg4LyCjHDm52RAJ2zgRbgBsYpP1PVaMyad+1NPl4pUbGim4diIWkJrIz6QNngC6CA jb65/BSplzCjx7yeFYQV8GePgMHC5avErp4wNAPhLxlgQajbCGglokh+aX2Y988hHmbs wwNYCM8i244Yz9ytJJGT9R0JiuSTBNoP3Ar7gKkNXZogPLVQNgLHlYVyiAJ8iIQnXe9s s/c7hL88t3L0eEOe8gCneM2YSxoC5c3WFKgugJLLGx8+vDiv6jF2DLqbi1Usm3Qpi8t8 l/SssqfHQ4cUhyj4b0Kk3DlfzLLLwCXVX8cT3SI+Xy2Ou1Ykge/uH/4XL+TsIjk+eJ2I V2Eg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature; bh=0yROdZepAvzUmbbXbpgTkte+NV0c6qz+L2cHOfbnkyc=; b=FkSKGyDYOEdBgrWT3HrwyXDaF8e5GEi++wAV2jqnjGycz2NPs6W/+k2QxvT0mXarXX G584bP22EFZwjG6u1OPsKr4m5WBIbTQNMj2BngkaPk8ENw7PHzNE3Yw0P6ZblfEoZW9r rSxI/zEWvict2UWBFw57dBmbN/SHtq16kJfyCYu03cpv7khg2FDAhmXe2T2bprvCQ1pg 5cHS8pKgiXDVpAFFHNwLNz8oSnVgrCUOdEQmFHAj9S7eXXmY3YXluv3tJa5pPzkPzft8 u1cI5UxMucYHr/kuYS9HxTuSEtwa5uD8LQs+398qEGTJadzwnA8iVzlsmp9xcICHXrx3 fwfA== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=OuWznPFm; spf=pass (google.com: domain of james.hilliard1@gmail.com designates 2607:f8b0:4864:20::d2e as permitted sender) smtp.mailfrom=james.hilliard1@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from mail-io1-xd2e.google.com (mail-io1-xd2e.google.com. [2607:f8b0:4864:20::d2e]) by gmr-mx.google.com with ESMTPS id z1si1083127pju.0.2021.05.17.02.32.34 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 17 May 2021 02:32:34 -0700 (PDT) Received-SPF: pass (google.com: domain of james.hilliard1@gmail.com designates 2607:f8b0:4864:20::d2e as permitted sender) client-ip=2607:f8b0:4864:20::d2e; Received: by mail-io1-xd2e.google.com with SMTP id i7so5086253ioa.12 for ; Mon, 17 May 2021 02:32:34 -0700 (PDT) X-Received: by 2002:a05:6638:2410:: with SMTP id z16mr56176065jat.130.1621243954406; Mon, 17 May 2021 02:32:34 -0700 (PDT) Received: from MacBook-Pro.localdomain ([143.131.13.67]) by smtp.gmail.com with ESMTPSA id x14sm7731546ill.74.2021.05.17.02.32.33 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 May 2021 02:32:34 -0700 (PDT) From: James Hilliard To: swupdate@googlegroups.com Cc: James Hilliard Subject: [swupdate] [PATCH v3 1/1] diskpart: improve partition diff logging Date: Mon, 17 May 2021 03:32:28 -0600 Message-Id: <20210517093228.36987-1-james.hilliard1@gmail.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 X-Original-Sender: james.hilliard1@gmail.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=OuWznPFm; spf=pass (google.com: domain of james.hilliard1@gmail.com designates 2607:f8b0:4864:20::d2e as permitted sender) smtp.mailfrom=james.hilliard1@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Precedence: list Mailing-list: list swupdate@googlegroups.com; contact swupdate+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: swupdate@googlegroups.com X-Google-Group-Id: 605343134186 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , Signed-off-by: James Hilliard --- handlers/diskpart_handler.c | 44 +++++++++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 7 deletions(-) diff --git a/handlers/diskpart_handler.c b/handlers/diskpart_handler.c index b10ffc6..d990ed9 100644 --- a/handlers/diskpart_handler.c +++ b/handlers/diskpart_handler.c @@ -131,10 +131,42 @@ static int diskpart_set_partition(struct fdisk_partition *pa, return ret; } +static void diskpart_partition_info(struct fdisk_context *cxt, const char *name, struct fdisk_partition *pa) +{ + struct fdisk_label *lb; + int *ids = NULL; + size_t nids = 0; + size_t i; + lb = fdisk_get_label(cxt, NULL); + fdisk_label_get_fields_ids_all(lb, cxt, &ids, &nids); + if (ids && lb) { + TRACE("%s:", name); + for (i = 0; i < nids; i++) { + const struct fdisk_field *field = + fdisk_label_get_field(lb, ids[i]); + char *data = NULL; + if (!field) + continue; + if (fdisk_partition_to_string(pa, cxt, ids[i], &data)) + continue; + TRACE("\t%s: %s", fdisk_field_get_name(field), data); + free(data); + } + } else { + if (!ids) + ERROR("Failed to load field ids"); + if (!lb) + ERROR("Failed to load label"); + } + if (ids) + free(ids); +} + /* * Return true if partition differs */ -static bool diskpart_partition_cmp(const char *lbtype, struct fdisk_partition *firstpa, struct fdisk_partition *secondpa) +static bool diskpart_partition_cmp(const char *lbtype, struct fdisk_context *cxt, + struct fdisk_partition *firstpa, struct fdisk_partition *secondpa) { if (!firstpa || !secondpa) return true; @@ -151,11 +183,9 @@ static bool diskpart_partition_cmp(const char *lbtype, struct fdisk_partition *f fdisk_parttype_get_code(fdisk_partition_get_type(firstpa)) != fdisk_parttype_get_code(fdisk_partition_get_type(secondpa))) || fdisk_partition_get_size(firstpa) != fdisk_partition_get_size(secondpa))) { - TRACE("Partition differ : %s(%llu) <--> %s(%llu)", - fdisk_partition_get_name (firstpa) ? fdisk_partition_get_name(firstpa) : "", - (long long unsigned)fdisk_partition_get_size(firstpa), - fdisk_partition_get_name(secondpa) ? fdisk_partition_get_name(secondpa) : "", - (long long unsigned)fdisk_partition_get_size(secondpa)); + TRACE("Partition differ:"); + diskpart_partition_info(cxt, "Original", firstpa); + diskpart_partition_info(cxt, "New", secondpa); return true; } return false; @@ -394,7 +424,7 @@ static int diskpart(struct img_type *img, ret = -EFAULT; goto handler_exit; } - if (diskpart_partition_cmp(lbtype, pa, newpa)) { + if (diskpart_partition_cmp(lbtype, cxt, pa, newpa)) { createtable = true; }