Browse Source

kernel: default to zstd compression in ubifs

Compared to both lzo and zlib, zstd is the best all-around performer. Backport
a kernel patch [1] (to both 5.4 and 5.10), in order to set it as default for
ubifs, if available.

[1] https://lore.kernel.org/linux-mtd/CAFLxGvwhtRY-6kT-sN=AgjvyssHb5qdTS6WQHkhKu3YrPuTkdw@mail.gmail.com/

Signed-off-by: Rui Salvaterra <[email protected]>
Rui Salvaterra 4 years ago
parent
commit
c4d39c4d5f

+ 25 - 0
target/linux/generic/backport-5.10/500-v5.13-ubifs-default-to-zstd-compression.patch

@@ -0,0 +1,25 @@
+From dcdf415b740923530dc71d89fecc8361078473f5 Mon Sep 17 00:00:00 2001
+From: Rui Salvaterra <[email protected]>
+Date: Mon, 5 Apr 2021 16:11:55 +0100
+Subject: [PATCH] ubifs: default to zstd compression
+
+Compared to lzo and zlib, zstd is the best all-around performer, both in terms
+of speed and compression ratio. Set it as the default, if available.
+
+Signed-off-by: Rui Salvaterra <[email protected]>
+---
+ fs/ubifs/sb.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/fs/ubifs/sb.c
++++ b/fs/ubifs/sb.c
+@@ -53,6 +53,9 @@
+ 
+ static int get_default_compressor(struct ubifs_info *c)
+ {
++	if (ubifs_compr_present(c, UBIFS_COMPR_ZSTD))
++		return UBIFS_COMPR_ZSTD;
++
+ 	if (ubifs_compr_present(c, UBIFS_COMPR_LZO))
+ 		return UBIFS_COMPR_LZO;
+ 

+ 25 - 0
target/linux/generic/backport-5.4/500-v5.13-ubifs-default-to-zstd-compression.patch

@@ -0,0 +1,25 @@
+From dcdf415b740923530dc71d89fecc8361078473f5 Mon Sep 17 00:00:00 2001
+From: Rui Salvaterra <[email protected]>
+Date: Mon, 5 Apr 2021 16:11:55 +0100
+Subject: [PATCH] ubifs: default to zstd compression
+
+Compared to lzo and zlib, zstd is the best all-around performer, both in terms
+of speed and compression ratio. Set it as the default, if available.
+
+Signed-off-by: Rui Salvaterra <[email protected]>
+---
+ fs/ubifs/sb.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/fs/ubifs/sb.c
++++ b/fs/ubifs/sb.c
+@@ -53,6 +53,9 @@
+ 
+ static int get_default_compressor(struct ubifs_info *c)
+ {
++	if (ubifs_compr_present(c, UBIFS_COMPR_ZSTD))
++		return UBIFS_COMPR_ZSTD;
++
+ 	if (ubifs_compr_present(c, UBIFS_COMPR_LZO))
+ 		return UBIFS_COMPR_LZO;
+