mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-30 18:07:52 +00:00
patches: carry forward IPQ807x UBI force detach (0050)
Adds UBI force detach patch for IPQ807x to handle problematic UBI volumes. Renumbered from patches/0071. Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
@@ -1,20 +1,22 @@
|
|||||||
From 3dd22aa711f2f8c8e968d21cbac85beb713760af Mon Sep 17 00:00:00 2001
|
From 708107bebf50e8c15f65eac6d939a677893be040 Mon Sep 17 00:00:00 2001
|
||||||
From: John Crispin <john@phrozen.org>
|
From: John Crispin <john@phrozen.org>
|
||||||
Date: Sun, 16 Jul 2023 17:21:04 +0200
|
Date: Sun, 16 Jul 2023 17:21:04 +0200
|
||||||
Subject: [PATCH 41/43] ipq807x: add ubi force detach patch
|
Subject: [PATCH 50/55] ipq807x: add ubi force detach patch
|
||||||
|
|
||||||
|
Adds force detach option to ubidetach utility, allowing UBI volumes to be detached even when busy during system upgrade.
|
||||||
|
|
||||||
Signed-off-by: John Crispin <john@phrozen.org>
|
Signed-off-by: John Crispin <john@phrozen.org>
|
||||||
---
|
---
|
||||||
.../patches/131-add_ubi_force_detach.patch | 185 ++++++++++++++++++
|
.../patches/131-add_ubi_force_detach.patch | 196 ++++++++++++++++++
|
||||||
1 file changed, 185 insertions(+)
|
1 file changed, 196 insertions(+)
|
||||||
create mode 100644 package/utils/mtd-utils/patches/131-add_ubi_force_detach.patch
|
create mode 100644 package/utils/mtd-utils/patches/131-add_ubi_force_detach.patch
|
||||||
|
|
||||||
diff --git a/package/utils/mtd-utils/patches/131-add_ubi_force_detach.patch b/package/utils/mtd-utils/patches/131-add_ubi_force_detach.patch
|
diff --git a/package/utils/mtd-utils/patches/131-add_ubi_force_detach.patch b/package/utils/mtd-utils/patches/131-add_ubi_force_detach.patch
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000..f3cd6a6b28
|
index 0000000000..03cc8663a2
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/package/utils/mtd-utils/patches/131-add_ubi_force_detach.patch
|
+++ b/package/utils/mtd-utils/patches/131-add_ubi_force_detach.patch
|
||||||
@@ -0,0 +1,185 @@
|
@@ -0,0 +1,196 @@
|
||||||
+--- a/include/mtd/ubi-user.h
|
+--- a/include/mtd/ubi-user.h
|
||||||
++++ b/include/mtd/ubi-user.h
|
++++ b/include/mtd/ubi-user.h
|
||||||
+@@ -176,6 +176,7 @@
|
+@@ -176,6 +176,7 @@
|
||||||
@@ -27,7 +29,7 @@ index 0000000000..f3cd6a6b28
|
|||||||
+
|
+
|
||||||
+--- a/include/libubi.h
|
+--- a/include/libubi.h
|
||||||
++++ b/include/libubi.h
|
++++ b/include/libubi.h
|
||||||
+@@ -48,6 +48,7 @@ typedef void * libubi_t;
|
+@@ -51,6 +51,7 @@ typedef void * libubi_t;
|
||||||
+ * number)
|
+ * number)
|
||||||
+ * @mtd_num: MTD device number to attach (used if @mtd_dev_node is %NULL)
|
+ * @mtd_num: MTD device number to attach (used if @mtd_dev_node is %NULL)
|
||||||
+ * @mtd_dev_node: path to MTD device node to attach
|
+ * @mtd_dev_node: path to MTD device node to attach
|
||||||
@@ -35,7 +37,7 @@ index 0000000000..f3cd6a6b28
|
|||||||
+ * @vid_hdr_offset: VID header offset (%0 means default offset and this is what
|
+ * @vid_hdr_offset: VID header offset (%0 means default offset and this is what
|
||||||
+ * most of the users want)
|
+ * most of the users want)
|
||||||
+ * @max_beb_per1024: Maximum expected bad eraseblocks per 1024 eraseblocks
|
+ * @max_beb_per1024: Maximum expected bad eraseblocks per 1024 eraseblocks
|
||||||
+@@ -240,29 +241,33 @@ int ubi_attach(libubi_t desc, const char
|
+@@ -249,29 +250,33 @@ int ubi_attach(libubi_t desc, const char
|
||||||
+ * corresponding UBI device is removed. Returns zero in case of success and %-1
|
+ * corresponding UBI device is removed. Returns zero in case of success and %-1
|
||||||
+ * in case of failure.
|
+ * in case of failure.
|
||||||
+ */
|
+ */
|
||||||
@@ -74,7 +76,7 @@ index 0000000000..f3cd6a6b28
|
|||||||
+ * ubi_mkvol - create an UBI volume.
|
+ * ubi_mkvol - create an UBI volume.
|
||||||
+--- a/lib/libubi.c
|
+--- a/lib/libubi.c
|
||||||
++++ b/lib/libubi.c
|
++++ b/lib/libubi.c
|
||||||
+@@ -808,7 +808,7 @@ int ubi_attach(libubi_t desc, const char
|
+@@ -807,7 +807,7 @@ int ubi_attach(libubi_t desc, const char
|
||||||
+ return ret;
|
+ return ret;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@@ -83,7 +85,7 @@ index 0000000000..f3cd6a6b28
|
|||||||
+ {
|
+ {
|
||||||
+ int ret, ubi_dev;
|
+ int ret, ubi_dev;
|
||||||
+
|
+
|
||||||
+@@ -818,10 +818,11 @@ int ubi_detach_mtd(libubi_t desc, const
|
+@@ -817,10 +817,11 @@ int ubi_detach_mtd(libubi_t desc, const
|
||||||
+ return ret;
|
+ return ret;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@@ -97,7 +99,7 @@ index 0000000000..f3cd6a6b28
|
|||||||
+ {
|
+ {
|
||||||
+ int mtd_num;
|
+ int mtd_num;
|
||||||
+
|
+
|
||||||
+@@ -834,10 +835,10 @@ int ubi_detach(libubi_t desc, const char
|
+@@ -833,10 +834,10 @@ int ubi_detach(libubi_t desc, const char
|
||||||
+ if (mtd_num == -1)
|
+ if (mtd_num == -1)
|
||||||
+ return -1;
|
+ return -1;
|
||||||
+
|
+
|
||||||
@@ -109,8 +111,8 @@ index 0000000000..f3cd6a6b28
|
|||||||
++int ubi_remove_dev(libubi_t desc, const char *node, int ubi_dev, int force)
|
++int ubi_remove_dev(libubi_t desc, const char *node, int ubi_dev, int force)
|
||||||
+ {
|
+ {
|
||||||
+ int fd, ret;
|
+ int fd, ret;
|
||||||
+
|
+ (void)desc;
|
||||||
+@@ -847,6 +848,10 @@ int ubi_remove_dev(libubi_t desc, const
|
+@@ -845,6 +846,10 @@ int ubi_remove_dev(libubi_t desc, const
|
||||||
+ if (fd == -1)
|
+ if (fd == -1)
|
||||||
+ return sys_errmsg("cannot open \"%s\"", node);
|
+ return sys_errmsg("cannot open \"%s\"", node);
|
||||||
+ ret = ioctl(fd, UBI_IOCDET, &ubi_dev);
|
+ ret = ioctl(fd, UBI_IOCDET, &ubi_dev);
|
||||||
@@ -200,6 +202,17 @@ index 0000000000..f3cd6a6b28
|
|||||||
+ if (err) {
|
+ if (err) {
|
||||||
+ sys_errmsg("cannot detach mtd%d", args.mtdn);
|
+ sys_errmsg("cannot detach mtd%d", args.mtdn);
|
||||||
+ goto out_libubi;
|
+ goto out_libubi;
|
||||||
|
+--- a/tests/fs-tests/integrity/integck.c
|
||||||
|
++++ b/tests/fs-tests/integrity/integck.c
|
||||||
|
+@@ -2596,7 +2596,7 @@ static int reattach(void)
|
||||||
|
+ return sys_errmsg("cannot open libubi");
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+- err = ubi_detach_mtd(libubi, "/dev/ubi_ctrl", args.mtdn);
|
||||||
|
++ err = ubi_detach_mtd(libubi, "/dev/ubi_ctrl", args.mtdn, false);
|
||||||
|
+ if (err) {
|
||||||
|
+ sys_errmsg("cannot detach mtd%d", args.mtdn);
|
||||||
|
+ goto out;
|
||||||
--
|
--
|
||||||
2.34.1
|
2.34.1
|
||||||
|
|
||||||
Reference in New Issue
Block a user