kernel: Create UBIFS v5 volume
[openwrt/staging/dedeckeh.git] / target / linux / generic / pending-4.14 / 553-ubifs-Add-option-to-create-UBI-FS-version-4-on-empty.patch
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 (file)
index 4b41399..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-From 93c33e6a7f3b0aef99d02252e6232a3d8b80f2d5 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@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@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);