]> www.infradead.org Git - mtd-utils.git/commitdiff
mkfs.ubifs: Implement UBIFS_FLG_ENCRYPTION
authorRichard Weinberger <richard@nod.at>
Thu, 18 Oct 2018 14:36:44 +0000 (16:36 +0200)
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>
Thu, 1 Nov 2018 11:37:56 +0000 (12:37 +0100)
...and set UBIFS format version

Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
ubifs-utils/mkfs.ubifs/mkfs.ubifs.c
ubifs-utils/mkfs.ubifs/ubifs.h

index fc1b0cb1f6ccdb797e4fabaff9748922d832883f..09c28ab0b6bd1afc17e8f4433d666639a3bfc9b4 100644 (file)
@@ -2357,6 +2357,15 @@ static int finalize_leb_cnt(void)
        return 0;
 }
 
+static int ubifs_format_version(void)
+{
+       if (c->double_hash || c->encrypted)
+               return 5;
+
+       /* Default */
+       return 4;
+}
+
 /**
  * write_super - write the super block.
  */
@@ -2379,7 +2388,7 @@ static int write_super(void)
        sup.jhead_cnt     = cpu_to_le32(c->jhead_cnt);
        sup.fanout        = cpu_to_le32(c->fanout);
        sup.lsave_cnt     = cpu_to_le32(c->lsave_cnt);
-       sup.fmt_version   = cpu_to_le32(UBIFS_FORMAT_VERSION);
+       sup.fmt_version   = cpu_to_le32(ubifs_format_version());
        sup.default_compr = cpu_to_le16(c->default_compr);
        sup.rp_size       = cpu_to_le64(c->rp_size);
        sup.time_gran     = cpu_to_le32(DEFAULT_TIME_GRAN);
@@ -2396,6 +2405,8 @@ static int write_super(void)
                sup.flags |= cpu_to_le32(UBIFS_FLG_SPACE_FIXUP);
        if (c->double_hash)
                sup.flags |= cpu_to_le32(UBIFS_FLG_DOUBLE_HASH);
+       if (c->encrypted)
+               sup.flags |= cpu_to_le32(UBIFS_FLG_ENCRYPTION);
 
        return write_node(&sup, UBIFS_SB_NODE_SZ, UBIFS_SB_LNUM);
 }
index 5a4af997e7bd1a3f0298e9bb0dc3208da88ad53c..c26d0944ac50bc7d3577e0e5ba679b1ea6b35886 100644 (file)
@@ -410,6 +410,7 @@ struct ubifs_info
        int big_lpt;
        int space_fixup;
        int double_hash;
+       int encrypted;
        long long lpt_sz;
 
        int ltab_lnum;