From 410efc6fce20ca7dd58d5734e4edcebd992c2d7f Mon Sep 17 00:00:00 2001 From: Nagy Karoly Gabriel Date: Thu, 22 Dec 2011 16:17:20 +0100 Subject: [PATCH] mdadm: adeed two upstream fixes, see note. - fix robustyfies the linix kernel version checks f161d047eed634b3380262767f955eb888502e88 - fix super-intel.c:8665:7: error: 'devnum' may be used uninitialized in this function [-Werror=uninitialized] 19986c721c9ac4b353c8592998d70d0dc8860bfd --- base/mdadm/mdadm-3.2.2-version.patch | 61 +++++++++++++++++++++++++ base/mdadm/mdadm-3.2.2-werror.patch | 66 ++++++++++++++++++++++++++++ 2 files changed, 127 insertions(+) create mode 100644 base/mdadm/mdadm-3.2.2-version.patch create mode 100644 base/mdadm/mdadm-3.2.2-werror.patch diff --git a/base/mdadm/mdadm-3.2.2-version.patch b/base/mdadm/mdadm-3.2.2-version.patch new file mode 100644 index 000000000..0f830efac --- /dev/null +++ b/base/mdadm/mdadm-3.2.2-version.patch @@ -0,0 +1,61 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../mdadm/mdadm-3.2.2-version.patch +# Copyright (C) 2011 The OpenSDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +From f161d047eed634b3380262767f955eb888502e88 Mon Sep 17 00:00:00 2001 +From: NeilBrown +Date: Fri, 17 Jun 2011 22:49:24 +1000 +Subject: [PATCH 1/1] util: correctly parse shorter linux version numbers. + +The next version of Linux might be 3.0. If it is, get_linux_version +will fail. +So make it more robust. + +Reported-by: Namhyung Kim +Reported-by: Milan Broz +Signed-off-by: NeilBrown +--- + util.c | 10 +++++----- + 1 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/util.c b/util.c +index 10bbe56..55d171a 100644 +--- a/util.c ++++ b/util.c +@@ -146,16 +146,16 @@ int get_linux_version() + { + struct utsname name; + char *cp; +- int a,b,c; ++ int a = 0, b = 0,c = 0; + if (uname(&name) <0) + return -1; + + cp = name.release; + a = strtoul(cp, &cp, 10); +- if (*cp != '.') return -1; +- b = strtoul(cp+1, &cp, 10); +- if (*cp != '.') return -1; +- c = strtoul(cp+1, NULL, 10); ++ if (*cp == '.') ++ b = strtoul(cp+1, &cp, 10); ++ if (*cp == '.') ++ c = strtoul(cp+1, &cp, 10); + + return (a*1000000)+(b*1000)+c; + } +-- +1.7.6.3 + diff --git a/base/mdadm/mdadm-3.2.2-werror.patch b/base/mdadm/mdadm-3.2.2-werror.patch new file mode 100644 index 000000000..fd1002d01 --- /dev/null +++ b/base/mdadm/mdadm-3.2.2-werror.patch @@ -0,0 +1,66 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../mdadm/mdadm-3.2.2-werror.patch +# Copyright (C) 2011 The OpenSDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +From 19986c721c9ac4b353c8592998d70d0dc8860bfd Mon Sep 17 00:00:00 2001 +From: Milan Broz +Date: Thu, 14 Jul 2011 13:58:36 +1000 +Subject: [PATCH] mdadm: fix build failures (ppc64) + +This patch fixes these build issues: + +super-intel.c: In function 'getinfo_super_imsm_volume': +super-intel.c:2327:4: error: format '%llu' expects argument of type 'long long +unsigned int', but argument 3 has type '__u64' [-Werror=format] + +super-intel.c: In function 'imsm_reshape_super': +super-intel.c:8665:7: error: 'devnum' may be used uninitialized in this function [-Werror=uninitialized] + +Signed-off-by: Milan Broz +Signed-off-by: NeilBrown +--- + super-intel.c | 9 ++++++--- + 1 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/super-intel.c b/super-intel.c +index 5ea3b36..70cf993 100644 +--- a/super-intel.c ++++ b/super-intel.c +@@ -2326,7 +2326,9 @@ static void getinfo_super_imsm_volume(struct supertype *st, struct mdinfo *info, + + dprintf("IMSM: General Migration checkpoint : %llu " + "(%llu) -> read reshape progress : %llu\n", +- units, blocks_per_unit, info->reshape_progress); ++ (unsigned long long)units, ++ (unsigned long long)blocks_per_unit, ++ info->reshape_progress); + + used_disks = imsm_num_data_members(dev, 1); + if (used_disks > 0) { +@@ -8661,8 +8663,9 @@ static int imsm_reshape_super(struct supertype *st, long long size, int level, + dprintf("imsm: info: Volume operation\n"); + /* find requested device */ + while (dev) { +- imsm_find_array_minor_by_subdev(dev->index, st->container_dev, &devnum); +- if (devnum == geo.dev_id) ++ if (imsm_find_array_minor_by_subdev( ++ dev->index, st->container_dev, &devnum) == 0 ++ && devnum == geo.dev_id) + break; + dev = dev->next; + } +-- +1.7.6.3 +