mtd: Allow holes in volume ID table
PATCH 1/1 mtd: Allow holes in volume ID table
A regression in the mtd package prevents non-consecutive ubi volume IDs from working properly. This change reverts the commit [0]. The issue was originally described on the mtd mailing list:
http://lists.infradead.org/pipermail/linux-mtd/2018-June/081562.html
[0] http://git.infradead.org/mtd-utils.git/commitdiff/dede98ffb706676309488d7cc660f569548d5930
--- ...correct-error-number-in-ubi_get_vol_info1.patch | 91 ++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 package/mtd/0001-revert-return-correct-error-number-in-ubi_get_vol_info1.patch
package/mtd/0001-revert-return-correct-error-number-in-ubi_get_vol_info1.patch new file +91 -0
@@ -0,0 +1,91 @@ +From 0f833ac73ad631248826386e2918d8571ecf0347 Mon Sep 17 00:00:00 2001 +From: David Oberhollenzer <[email protected]> +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 <[email protected]> +Signed-off-by: David Oberhollenzer <[email protected]> +--- + 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 +
Signature · 1 line
1.9.1
PATCH 1/1 mtd: Allow holes in volume ID table
David,
Quoted 8 lines · David Owens
A regression in the mtd package prevents non-consecutive ubi volume IDs from working properly. This change reverts the commit [0]. The issue was originally described on the mtd mailing list:
http://lists.infradead.org/pipermail/linux-mtd/2018-June/081562.html
[0] http://git.infradead.org/mtd-utils.git/commitdiff/dede98ffb706676309488d7cc660f569548d5930
Are you thinking this patch would be for the LTS and then separately a patchset to bump the MTD version would be better for master?
Matt
PATCH 1/1 mtd: Allow holes in volume ID table
Quoted 10 lines · Matthew Weber
David,
Quoted 6 lines · David Owens
A regression in the mtd package prevents non-consecutive ubi volume IDs from working properly. This change reverts the commit [0]. The issue was originally described on the mtd mailing list:
http://lists.infradead.org/pipermail/linux-mtd/2018-June/081562.html
Quoted 9 lines
Quoted 1 line
dede98ffb706676309488d7cc660f569548d5930Quoted 1 line
Are you thinking this patch would be for the LTS and then separately a patchset to bump the MTD version would be better for master?
Matt
I think the patch should be applied to LTS at a minimum but it also might make
sense to apply to master. The latest MTD version (2.0.2) has the same problem
so simply bumping the MTD versions won't help until a new release is available.
-Dave
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20180720/36b3910c/attachment.html>
PATCH 1/1 mtd: Allow holes in volume ID table
David,
Quoted 23 lines · David Owens
Quoted 11 lines · Matthew Weber
David,
Quoted 6 lines · David Owens
A regression in the mtd package prevents non-consecutive ubi volume IDs from working properly. This change reverts the commit [0]. The issue was originally described on the mtd mailing list:
http://lists.infradead.org/pipermail/linux-mtd/2018-June/081562.html
Quoted 8 lines
Quoted 3 lines
[0]
http://git.infradead.org/mtd-utils.git/commitdiff/dede98ffb706676309488d7cc660f569548d5930Are you thinking this patch would be for the LTS and then separately a patchset to bump the MTD version would be better for master?
Matt
Quoted 7 lines
I think the patch should be applied to LTS at a minimum but it also might make
sense to apply to master. The latest MTD version (2.0.2) has the same problem
so simply bumping the MTD versions won't help until a new release is available.
Ok, yeah then both LTS and master. (btw, please use plain text email)
Thomas Petazzoni
AppliedPATCH 1/1 mtd: Allow holes in volume ID table
In reply to David OwensHello,
Quoted 6 lines · David Owens
A regression in the mtd package prevents non-consecutive ubi volume IDs from working properly. This change reverts the commit [0]. The issue was originally described on the mtd mailing list:
http://lists.infradead.org/pipermail/linux-mtd/2018-June/081562.html
Quoted 7 lines
[0] http://git.infradead.org/mtd-utils.git/commitdiff/dede98ffb706676309488d7cc660f569548d5930
Signed-off-by David Owens <[email protected]>--- ...correct-error-number-in-ubi_get_vol_info1.patch | 91 ++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 package/mtd/0001-revert-return-correct-error-number-in-ubi_get_vol_info1.patch
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
PATCH 1/1 mtd: Allow holes in volume ID table
In reply to David OwensQuoted 11 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"David" == David Owens <[email protected]> writes:
A regression in the mtd package prevents non-consecutive ubi volume IDs from working properly. This change reverts the commit [0]. The issue was originally described on the mtd mailing list:
http://lists.infradead.org/pipermail/linux-mtd/2018-June/081562.html
[0] http://git.infradead.org/mtd-utils.git/commitdiff/dede98ffb706676309488d7cc660f569548d5930
Signed-off-by David Owens <[email protected]>
Committed to 2018.02.x and 2018.05.x, thanks.
Signature · 1 line
Bye, Peter Korsgaard