| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- From d62e98ed1efcaa94caa004f622944afdce5f1c3c Mon Sep 17 00:00:00 2001
- From: Gabor Juhos <[email protected]>
- Date: Sun, 9 Dec 2018 18:12:13 +0100
- Subject: [PATCH] ubifs: Fix default compression selection in ubifs
- When ubifs is build without the LZO compressor and no compressor is
- given the creation of the default file system will fail. before
- selection the LZO compressor check if it is present and if not fall back
- to the zlib or none.
- Signed-off-by: Gabor Juhos <[email protected]>
- Signed-off-by: Hauke Mehrtens <[email protected]>
- Signed-off-by: Richard Weinberger <[email protected]>
- ---
- fs/ubifs/sb.c | 13 ++++++++++++-
- 1 file changed, 12 insertions(+), 1 deletion(-)
- --- a/fs/ubifs/sb.c
- +++ b/fs/ubifs/sb.c
- @@ -63,6 +63,17 @@
- /* Default time granularity in nanoseconds */
- #define DEFAULT_TIME_GRAN 1000000000
-
- +static int get_default_compressor(struct ubifs_info *c)
- +{
- + if (ubifs_compr_present(c, UBIFS_COMPR_LZO))
- + return UBIFS_COMPR_LZO;
- +
- + if (ubifs_compr_present(c, UBIFS_COMPR_ZLIB))
- + return UBIFS_COMPR_ZLIB;
- +
- + return UBIFS_COMPR_NONE;
- +}
- +
- /**
- * create_default_filesystem - format empty UBI volume.
- * @c: UBIFS file-system description object
- @@ -186,7 +197,7 @@ static int create_default_filesystem(str
- if (c->mount_opts.override_compr)
- sup->default_compr = cpu_to_le16(c->mount_opts.compr_type);
- else
- - sup->default_compr = cpu_to_le16(UBIFS_COMPR_LZO);
- + sup->default_compr = cpu_to_le16(get_default_compressor(c));
-
- generate_random_uuid(sup->uuid);
-
|