From 056f1fc324ba55ac7422194229657b2b6cd5a107 Mon Sep 17 00:00:00 2001 From: basebuilder_pel7ppc64bebuilder0 Date: Thu, 17 May 2018 19:13:32 +0200 Subject: [PATCH] util linux patches Signed-off-by: basebuilder_pel7ppc64bebuilder0 --- SOURCES/0137-wipefs-fix-t-filter.patch | 68 ++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 SOURCES/0137-wipefs-fix-t-filter.patch diff --git a/SOURCES/0137-wipefs-fix-t-filter.patch b/SOURCES/0137-wipefs-fix-t-filter.patch new file mode 100644 index 00000000..4aa01e8d --- /dev/null +++ b/SOURCES/0137-wipefs-fix-t-filter.patch @@ -0,0 +1,68 @@ +From df6302339ae99535d3c075712db8cadeedbb6c00 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 17 Oct 2017 11:07:56 +0200 +Subject: [PATCH 137/141] wipefs: fix -t filter + +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1486777 +Signed-off-by: Karel Zak +--- + misc-utils/wipefs.c | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +diff --git a/misc-utils/wipefs.c b/misc-utils/wipefs.c +index 0144c9ef8..a0852aa97 100644 +--- a/misc-utils/wipefs.c ++++ b/misc-utils/wipefs.c +@@ -162,13 +162,16 @@ clone_offset(struct wipe_desc *wp0) + } + + static struct wipe_desc * +-get_desc_for_probe(struct wipe_desc *wp, blkid_probe pr) ++get_desc_for_probe(struct wipe_desc *wp, blkid_probe pr, int *found) + { + const char *off, *type, *mag, *p, *usage = NULL; + size_t len; + loff_t offset; + int rc, ispt = 0; + ++ if (found) ++ *found = 0; ++ + /* superblocks */ + if (blkid_probe_lookup_value(pr, "TYPE", &type, NULL) == 0) { + rc = blkid_probe_lookup_value(pr, "SBMAGIC_OFFSET", &off, NULL); +@@ -215,6 +218,8 @@ get_desc_for_probe(struct wipe_desc *wp, blkid_probe pr) + if (blkid_probe_lookup_value(pr, "UUID", &p, NULL) == 0) + wp->uuid = xstrdup(p); + ++ if (found) ++ *found = 1; + return wp; + } + +@@ -266,7 +271,7 @@ read_offsets(struct wipe_desc *wp, const char *devname) + return NULL; + + while (blkid_do_probe(pr) == 0) { +- wp = get_desc_for_probe(wp, pr); ++ wp = get_desc_for_probe(wp, pr, NULL); + if (!wp) + break; + } +@@ -347,9 +352,13 @@ do_wipe(struct wipe_desc *wp, const char *devname, int noact, int all, int quiet + wp0 = clone_offset(wp); + + while (blkid_do_probe(pr) == 0) { +- wp = get_desc_for_probe(wp, pr); ++ int found = 0; ++ ++ wp = get_desc_for_probe(wp, pr, &found); + if (!wp) + break; ++ if (!found) ++ continue; + + /* Check if offset is in provided list */ + w = wp0; +-- +2.13.6