[openwrt/openwrt] kernel: Create UBIFS v5 volume

LEDE Commits lede-commits at lists.infradead.org
Tue Aug 11 15:14:22 EDT 2020


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/2e8785d68cc0652632a6fcfb02b0b25299e9b267

commit 2e8785d68cc0652632a6fcfb02b0b25299e9b267
Author: Hauke Mehrtens <hauke at hauke-m.de>
AuthorDate: Sat Aug 8 17:28:42 2020 +0200

    kernel: Create UBIFS v5 volume
    
    In commit 87b35c16adcf ("kernel: ubifs: create use file system format 4
    by default") we changed the default UBIFS version used when the kernel
    creates a new volume from 5 to 4. UBIFS v5 was added in kernel 4.10 and
    only kernel 4.10 and later can read it.
    We changed the kernel to create version 4 volumes also on more recent
    kernel versions to make it possible to downgrade to an OpenWrt version
    with kernel 4.9, the upgrade still works. This is probably not needed
    any more and we can remove this patch.
    
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 target/linux/generic/config-4.14                   |  1 -
 target/linux/generic/config-4.19                   |  1 -
 target/linux/generic/config-5.4                    |  1 -
 ...ption-to-create-UBI-FS-version-4-on-empty.patch | 63 ---------------------
 ...ption-to-create-UBI-FS-version-4-on-empty.patch | 63 ---------------------
 ...ption-to-create-UBI-FS-version-4-on-empty.patch | 66 ----------------------
 6 files changed, 195 deletions(-)

diff --git a/target/linux/generic/config-4.14 b/target/linux/generic/config-4.14
index da156d2145..5f2360734c 100644
--- a/target/linux/generic/config-4.14
+++ b/target/linux/generic/config-4.14
@@ -5151,7 +5151,6 @@ CONFIG_TTY=y
 # CONFIG_UACCESS_WITH_MEMCPY is not set
 # CONFIG_UBIFS_ATIME_SUPPORT is not set
 # CONFIG_UBIFS_FS_ENCRYPTION is not set
-CONFIG_UBIFS_FS_FORMAT4=y
 # CONFIG_UBIFS_FS_SECURITY is not set
 # CONFIG_UBSAN is not set
 # CONFIG_UCB1400_CORE is not set
diff --git a/target/linux/generic/config-4.19 b/target/linux/generic/config-4.19
index 2d6d34a83d..b2762de05c 100644
--- a/target/linux/generic/config-4.19
+++ b/target/linux/generic/config-4.19
@@ -5425,7 +5425,6 @@ CONFIG_TTY=y
 # CONFIG_UACCESS_WITH_MEMCPY is not set
 # CONFIG_UBIFS_ATIME_SUPPORT is not set
 # CONFIG_UBIFS_FS_ENCRYPTION is not set
-CONFIG_UBIFS_FS_FORMAT4=y
 # CONFIG_UBIFS_FS_SECURITY is not set
 # CONFIG_UBIFS_FS_XATTR is not set
 # CONFIG_UBSAN is not set
diff --git a/target/linux/generic/config-5.4 b/target/linux/generic/config-5.4
index 052409eb62..7f39f8f62c 100644
--- a/target/linux/generic/config-5.4
+++ b/target/linux/generic/config-5.4
@@ -5787,7 +5787,6 @@ CONFIG_TTY=y
 # CONFIG_UBIFS_ATIME_SUPPORT is not set
 # CONFIG_UBIFS_FS_AUTHENTICATION is not set
 # CONFIG_UBIFS_FS_ENCRYPTION is not set
-CONFIG_UBIFS_FS_FORMAT4=y
 # CONFIG_UBIFS_FS_SECURITY is not set
 # CONFIG_UBIFS_FS_XATTR is not set
 # CONFIG_UBSAN is not set
diff --git a/target/linux/generic/pending-4.14/553-ubifs-Add-option-to-create-UBI-FS-version-4-on-empty.patch b/target/linux/generic/pending-4.14/553-ubifs-Add-option-to-create-UBI-FS-version-4-on-empty.patch
deleted file mode 100644
index 4b413996f2..0000000000
--- a/target/linux/generic/pending-4.14/553-ubifs-Add-option-to-create-UBI-FS-version-4-on-empty.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 93c33e6a7f3b0aef99d02252e6232a3d8b80f2d5 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke at hauke-m.de>
-Date: Sun, 21 Jan 2018 15:47:50 +0100
-Subject: ubifs: Add option to create UBI FS version 4 on empty UBI volume
-
-Instead of creating an ubifs file system with format version 5 by
-default on empty UBI volumes add a compile option to create an older ubi
-with file system format version 4 instated. This allows it to be mount
-as a volume on kernel versions < 4.10, which does not support format
-version 5.
-We saw that some people can not access their older data when they
-downgraded from kernel 4.14 to kernel 4.9 to prevent this this option
-would help.
-
-Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
----
- fs/ubifs/Kconfig | 13 +++++++++++++
- fs/ubifs/sb.c    |  6 ++++++
- 2 files changed, 19 insertions(+)
-
---- a/fs/ubifs/Kconfig
-+++ b/fs/ubifs/Kconfig
-@@ -74,3 +74,16 @@ config UBIFS_FS_SECURITY
- 	  the extended attribute support in advance.
- 
- 	  If you are not using a security module, say N.
-+
-+config UBIFS_FS_FORMAT4
-+	bool "Use file system format version 4 for new file systems"
-+	depends on UBIFS_FS
-+	help
-+	  Instead of creating new file systems with the new ubifs file
-+	  system version 5, use the old format version 4 for implicitly
-+	  by the driver created file systems on an empty UBI volume. This
-+	  makes it possible to  mount these file systems also with kernel
-+	  versions before 4.10. The driver will still support file system
-+	  format version 5 for ubifs file systems created with version 5.
-+
-+	  If you are unsure, say N.
---- a/fs/ubifs/sb.c
-+++ b/fs/ubifs/sb.c
-@@ -176,7 +176,9 @@ static int create_default_filesystem(str
- 	tmp64 = (long long)max_buds * c->leb_size;
- 	if (big_lpt)
- 		sup_flags |= UBIFS_FLG_BIGLPT;
-+#ifndef CONFIG_UBIFS_FS_FORMAT4
- 	sup_flags |= UBIFS_FLG_DOUBLE_HASH;
-+#endif
- 
- 	sup->ch.node_type  = UBIFS_SB_NODE;
- 	sup->key_hash      = UBIFS_KEY_HASH_R5;
-@@ -192,7 +194,11 @@ static int create_default_filesystem(str
- 	sup->jhead_cnt     = cpu_to_le32(DEFAULT_JHEADS_CNT);
- 	sup->fanout        = cpu_to_le32(DEFAULT_FANOUT);
- 	sup->lsave_cnt     = cpu_to_le32(c->lsave_cnt);
-+#ifdef CONFIG_UBIFS_FS_FORMAT4
-+	sup->fmt_version   = cpu_to_le32(4);
-+#else
- 	sup->fmt_version   = cpu_to_le32(UBIFS_FORMAT_VERSION);
-+#endif
- 	sup->time_gran     = cpu_to_le32(DEFAULT_TIME_GRAN);
- 	if (c->mount_opts.override_compr)
- 		sup->default_compr = cpu_to_le16(c->mount_opts.compr_type);
diff --git a/target/linux/generic/pending-4.19/553-ubifs-Add-option-to-create-UBI-FS-version-4-on-empty.patch b/target/linux/generic/pending-4.19/553-ubifs-Add-option-to-create-UBI-FS-version-4-on-empty.patch
deleted file mode 100644
index 02c9b4c0fa..0000000000
--- a/target/linux/generic/pending-4.19/553-ubifs-Add-option-to-create-UBI-FS-version-4-on-empty.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 93c33e6a7f3b0aef99d02252e6232a3d8b80f2d5 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke at hauke-m.de>
-Date: Sun, 21 Jan 2018 15:47:50 +0100
-Subject: ubifs: Add option to create UBI FS version 4 on empty UBI volume
-
-Instead of creating an ubifs file system with format version 5 by
-default on empty UBI volumes add a compile option to create an older ubi
-with file system format version 4 instated. This allows it to be mount
-as a volume on kernel versions < 4.10, which does not support format
-version 5.
-We saw that some people can not access their older data when they
-downgraded from kernel 4.14 to kernel 4.9 to prevent this this option
-would help.
-
-Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
----
- fs/ubifs/Kconfig | 13 +++++++++++++
- fs/ubifs/sb.c    |  6 ++++++
- 2 files changed, 19 insertions(+)
-
---- a/fs/ubifs/Kconfig
-+++ b/fs/ubifs/Kconfig
-@@ -85,3 +85,16 @@ config UBIFS_FS_SECURITY
- 	  the extended attribute support in advance.
- 
- 	  If you are not using a security module, say N.
-+
-+config UBIFS_FS_FORMAT4
-+	bool "Use file system format version 4 for new file systems"
-+	depends on UBIFS_FS
-+	help
-+	  Instead of creating new file systems with the new ubifs file
-+	  system version 5, use the old format version 4 for implicitly
-+	  by the driver created file systems on an empty UBI volume. This
-+	  makes it possible to  mount these file systems also with kernel
-+	  versions before 4.10. The driver will still support file system
-+	  format version 5 for ubifs file systems created with version 5.
-+
-+	  If you are unsure, say N.
---- a/fs/ubifs/sb.c
-+++ b/fs/ubifs/sb.c
-@@ -176,7 +176,9 @@ static int create_default_filesystem(str
- 	tmp64 = (long long)max_buds * c->leb_size;
- 	if (big_lpt)
- 		sup_flags |= UBIFS_FLG_BIGLPT;
-+#ifndef CONFIG_UBIFS_FS_FORMAT4
- 	sup_flags |= UBIFS_FLG_DOUBLE_HASH;
-+#endif
- 
- 	sup->ch.node_type  = UBIFS_SB_NODE;
- 	sup->key_hash      = UBIFS_KEY_HASH_R5;
-@@ -192,7 +194,11 @@ static int create_default_filesystem(str
- 	sup->jhead_cnt     = cpu_to_le32(DEFAULT_JHEADS_CNT);
- 	sup->fanout        = cpu_to_le32(DEFAULT_FANOUT);
- 	sup->lsave_cnt     = cpu_to_le32(c->lsave_cnt);
-+#ifdef CONFIG_UBIFS_FS_FORMAT4
-+	sup->fmt_version   = cpu_to_le32(4);
-+#else
- 	sup->fmt_version   = cpu_to_le32(UBIFS_FORMAT_VERSION);
-+#endif
- 	sup->time_gran     = cpu_to_le32(DEFAULT_TIME_GRAN);
- 	if (c->mount_opts.override_compr)
- 		sup->default_compr = cpu_to_le16(c->mount_opts.compr_type);
diff --git a/target/linux/generic/pending-5.4/553-ubifs-Add-option-to-create-UBI-FS-version-4-on-empty.patch b/target/linux/generic/pending-5.4/553-ubifs-Add-option-to-create-UBI-FS-version-4-on-empty.patch
deleted file mode 100644
index e726274ca2..0000000000
--- a/target/linux/generic/pending-5.4/553-ubifs-Add-option-to-create-UBI-FS-version-4-on-empty.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 93c33e6a7f3b0aef99d02252e6232a3d8b80f2d5 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke at hauke-m.de>
-Date: Sun, 21 Jan 2018 15:47:50 +0100
-Subject: ubifs: Add option to create UBI FS version 4 on empty UBI volume
-
-Instead of creating an ubifs file system with format version 5 by
-default on empty UBI volumes add a compile option to create an older ubi
-with file system format version 4 instated. This allows it to be mount
-as a volume on kernel versions < 4.10, which does not support format
-version 5.
-We saw that some people can not access their older data when they
-downgraded from kernel 4.14 to kernel 4.9 to prevent this this option
-would help.
-
-Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
----
- fs/ubifs/Kconfig | 13 +++++++++++++
- fs/ubifs/sb.c    |  6 ++++++
- 2 files changed, 19 insertions(+)
-
---- a/fs/ubifs/Kconfig
-+++ b/fs/ubifs/Kconfig
-@@ -85,6 +85,19 @@ config UBIFS_FS_SECURITY
- 
- 	  If you are not using a security module, say N.
- 
-+config UBIFS_FS_FORMAT4
-+	bool "Use file system format version 4 for new file systems"
-+	depends on UBIFS_FS
-+	help
-+	  Instead of creating new file systems with the new ubifs file
-+	  system version 5, use the old format version 4 for implicitly
-+	  by the driver created file systems on an empty UBI volume. This
-+	  makes it possible to  mount these file systems also with kernel
-+	  versions before 4.10. The driver will still support file system
-+	  format version 5 for ubifs file systems created with version 5.
-+
-+	  If you are unsure, say N.
-+
- config UBIFS_FS_AUTHENTICATION
- 	bool "UBIFS authentication support"
- 	select KEYS
---- a/fs/ubifs/sb.c
-+++ b/fs/ubifs/sb.c
-@@ -175,7 +175,9 @@ static int create_default_filesystem(str
- 	tmp64 = (long long)max_buds * c->leb_size;
- 	if (big_lpt)
- 		sup_flags |= UBIFS_FLG_BIGLPT;
-+#ifndef CONFIG_UBIFS_FS_FORMAT4
- 	sup_flags |= UBIFS_FLG_DOUBLE_HASH;
-+#endif
- 
- 	if (ubifs_authenticated(c)) {
- 		sup_flags |= UBIFS_FLG_AUTHENTICATION;
-@@ -201,7 +203,11 @@ static int create_default_filesystem(str
- 	sup->jhead_cnt     = cpu_to_le32(DEFAULT_JHEADS_CNT);
- 	sup->fanout        = cpu_to_le32(DEFAULT_FANOUT);
- 	sup->lsave_cnt     = cpu_to_le32(c->lsave_cnt);
-+#ifdef CONFIG_UBIFS_FS_FORMAT4
-+	sup->fmt_version   = cpu_to_le32(4);
-+#else
- 	sup->fmt_version   = cpu_to_le32(UBIFS_FORMAT_VERSION);
-+#endif
- 	sup->time_gran     = cpu_to_le32(DEFAULT_TIME_GRAN);
- 	if (c->mount_opts.override_compr)
- 		sup->default_compr = cpu_to_le16(c->mount_opts.compr_type);



More information about the lede-commits mailing list