All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adriana Kobylak <anoo@linux.ibm.com>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH] mtd-utils: Revert "Return correct error number in ubi_get_vol_in"
Date: Wed, 22 Aug 2018 10:00:03 -0500	[thread overview]
Message-ID: <ACDC1699-6D51-489B-9DD1-340700327107@linux.ibm.com> (raw)
In-Reply-To: <1532973389-30163-1-git-send-email-anoo@linux.ibm.com>



> On Jul 30, 2018, at 12:56 PM, Adriana Kobylak <anoo@linux.ibm.com> wrote:
> 
> Add mtd-utils upstream patch that fixes a regression on the
> mtd-utils tools such as ubinfo.
> 
> Details of the issue which affects mtd-utils 2.0.1 and 2.0.2:
> http://lists.infradead.org/pipermail/linux-mtd/2018-June/081562.html
> 
> Upstream-Status: Accepted [http://git.infradead.org/mtd-utils.git/commit/0f833ac73ad631248826386e2918d8571ecf0347]
> 
> Signed-off-by: Adriana Kobylak <anoo@linux.ibm.com>
> ---
> ...rn-correct-error-number-in-ubi_get_vol_in.patch | 92 ++++++++++++++++++++++
> meta/recipes-devtools/mtd/mtd-utils_git.bb         |  1 +
> 2 files changed, 93 insertions(+)
> create mode 100644 meta/recipes-devtools/mtd/mtd-utils/0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch
> 
> diff --git a/meta/recipes-devtools/mtd/mtd-utils/0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch b/meta/recipes-devtools/mtd/mtd-utils/0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch
> new file mode 100644
> index 0000000..4ece56b
> --- /dev/null
> +++ b/meta/recipes-devtools/mtd/mtd-utils/0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch
> @@ -0,0 +1,92 @@
> +From 0f833ac73ad631248826386e2918d8571ecf0347 Mon Sep 17 00:00:00 2001
> +From: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
> +Date: Sat, 9 Jun 2018 16:45:22 +0200
> +Subject: [PATCH] Revert "Return correct error number in ubi_get_vol_info1"
> +
> +This reverts commit dede98ffb706676309488d7cc660f569548d5930.
> +
> +The original commit tried to fix a descrepancy between the implementation
> +and the documentation by making the implementation comply.
> +
> +When making the change, it was overlooked, that ubinfo and ubirename were
> +written against the implementation instead of the behaviour specified by
> +the documentation. So were further internal functions like
> +ubi_get_vol_info1_nm which further breaks ubirmvol.
> +
> +A report with an outline of a resulting problem can be read on
> +the mailing list:
> +
> +http://lists.infradead.org/pipermail/linux-mtd/2018-June/081562.html
> +
> +From the report:
> +
> +steps to reproduce: have mtd-utils 2.0.1 or 2.0.2
> +
> +0. make a bunch of ubi volumes in sequential order
> +
> +ubimkvol /dev/ubi0 -s 64KiB -N test1
> +ubimkvol /dev/ubi0 -s 64KiB -N test2
> +ubimkvol /dev/ubi0 -s 64KiB -N test3
> +ubimkvol /dev/ubi0 -s 64KiB -N test4
> +..
> +
> +1. delete the test1 volume, making a hole in the volume table
> +
> +ubirmvol /dev/ubi0 -N test1
> +
> +2. try an affected tool (i.e. "ubirmvol /dev/ubi0 -N test4" )
> +
> + |root at mr24:/# ubirmvol /dev/ubi0 -N test4
> + |ubirmvol: error!: cannot find UBI volume "test4"
> + |         error 19 (No such device)
> +
> +or "ubinfo -a"
> +
> + | root at mr24:/# ubinfo -a
> + | UBI version:                    1
> + | Count of UBI devices:           1
> + | UBI control device major/minor: 10:59
> + | Present UBI devices:            ubi0
> + |
> + | ubi0
> + | Volumes count:                           11
> + | Logical eraseblock size:                 15872 bytes, 15.5 KiB
> + | Total amount of logical eraseblocks:     1952 (30982144 bytes, 29.5 MiB)
> + | Amount of available logical eraseblocks: 75 (1190400 bytes, 1.1 MiB)
> + | Maximum count of volumes                 92
> + | Count of bad physical eraseblocks:       0
> + | Count of reserved physical eraseblocks:  40
> + | Current maximum erase counter value:     984
> + | Minimum input/output unit size:          512 bytes
> + | Character device major/minor:            251:0
> + | ubinfo: error!: libubi failed to probe volume 5 on ubi0
> + |        error 19 (No such device)
> + | Present volumes:                         0, 1, 2, 3, 4root at mr24:/#
> +
> +Reported-by: Christian Lamparter <chunkeey@gmail.com>
> +Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
> +Upstream-Status: Accepted [http://git.infradead.org/mtd-utils.git/commit/0f833ac73ad631248826386e2918d8571ecf0347]
> +---
> + lib/libubi.c | 5 +----
> + 1 file changed, 1 insertion(+), 4 deletions(-)
> +
> +diff --git a/lib/libubi.c b/lib/libubi.c
> +index b50e68a..978b433 100644
> +--- a/lib/libubi.c
> ++++ b/lib/libubi.c
> +@@ -1240,11 +1240,8 @@ int ubi_get_vol_info1(libubi_t desc, int dev_num, int vol_id,
> + 	info->dev_num = dev_num;
> + 	info->vol_id = vol_id;
> + 
> +-	if (vol_get_major(lib, dev_num, vol_id, &info->major, &info->minor)) {
> +-		if (errno == ENOENT)
> +-			errno = ENODEV;
> ++	if (vol_get_major(lib, dev_num, vol_id, &info->major, &info->minor))
> + 		return -1;
> +-	}
> + 
> + 	ret = vol_read_data(lib->vol_type, dev_num, vol_id, buf, 50);
> + 	if (ret < 0)
> +-- 
> +2.14.4
> +
> diff --git a/meta/recipes-devtools/mtd/mtd-utils_git.bb b/meta/recipes-devtools/mtd/mtd-utils_git.bb
> index 97a3e0c..f53c6c1 100644
> --- a/meta/recipes-devtools/mtd/mtd-utils_git.bb
> +++ b/meta/recipes-devtools/mtd/mtd-utils_git.bb
> @@ -15,6 +15,7 @@ PV = "2.0.2+${SRCPV}"
> SRCREV = "bc63d36e39f389c8c17f6a8e9db47f2acc884659"
> SRC_URI = "git://git.infradead.org/mtd-utils.git \
>            file://add-exclusion-to-mkfs-jffs2-git-2.patch \
> +           file://0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch \
> "
> 
> S = "${WORKDIR}/git/"
> -- 
> 1.8.3.1
> 



      reply	other threads:[~2018-08-22 15:04 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-30 15:19 [PATCH] mtd-utils: Revert "Return correct error number in ubi_get_vol_in" Adriana Kobylak
2018-07-30 17:32 ` ✗ patchtest: failure for " Patchwork
2018-07-30 17:56   ` [PATCH v2] " Adriana Kobylak
2018-08-22 15:00     ` Adriana Kobylak [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ACDC1699-6D51-489B-9DD1-340700327107@linux.ibm.com \
    --to=anoo@linux.ibm.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.