[PATCH 3/4] UBIFS: improvement to Joel's patch

Artem Bityutskiy dedekind1 at gmail.com
Thu Jun 7 05:06:07 EDT 2012


From: Artem Bityutskiy <artem.bityutskiy at linux.intel.com>

Introduce a 'calc_ksa_lebs()' helper. It is very simple now, but we
will put more calculations there. The code is cleaner this way.

Signed-off-by: Artem Bityutskiy <artem.bityutskiy at linux.intel.com>
---
 fs/ubifs/sb.c |   19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

diff --git a/fs/ubifs/sb.c b/fs/ubifs/sb.c
index 7b6adc0..91c78e7 100644
--- a/fs/ubifs/sb.c
+++ b/fs/ubifs/sb.c
@@ -64,6 +64,19 @@
 #define DEFAULT_TIME_GRAN 1000000000
 
 /**
+ * min_ksa_lebs - calculate the minimum amount of LEBs required for KSA.
+ * @c: UBIFS file-system description object
+ * @leb_cnt: total amount of LEBs on the UBI volume to calculate for
+ *
+ * This is a helper function which calculates and returns the amount of LEBs
+ * required for the KSA area if the underlying UBI volume has @leb_cnt LEBs.
+ */
+static int calc_ksa_lebs(struct ubifs_info *c, int leb_cnt)
+{
+	return (leb_cnt * UBIFS_CRYPTO_KEYSIZE) >> UBIFS_BLOCK_SHIFT;
+}
+
+/**
  * create_default_filesystem - format empty UBI volume.
  * @c: UBIFS file-system description object
  *
@@ -110,8 +123,7 @@ static int create_default_filesystem(struct ubifs_info *c)
 		 * LEBS * LEB_SIZE / DATANODE_SIZE / KEYS_PER_KSA_LEB, because
 		 * KEYS_PER_KSA_LEB = LEB_SIZE / KEY_SIZE.
 		 */
-		ksa_lebs = (c->leb_cnt * UBIFS_CRYPTO_KEYSIZE)
-			>> UBIFS_BLOCK_SHIFT;
+		ksa_lebs = calc_ksa_lebs(c->leb_cnt);
 		ksa_lebs += ksa_lebs >> UBIFS_KSA_LEBS_SCALE_SHIFT;
 		ksa_lebs += UBIFS_KSA_ADD_LEBS;
 		min_leb_cnt += ksa_lebs;
@@ -484,8 +496,7 @@ static int validate_sb(struct ubifs_info *c, struct ubifs_sb_node *sup)
 		goto failed;
 	}
 
-	min_ksa_leb_cnt = (c->leb_cnt * UBIFS_CRYPTO_KEYSIZE)
-			  >> UBIFS_BLOCK_SHIFT;
+	min_ksa_leb_cnt = calc_ksa_lebs(c->leb_cnt);
 	max_ksa_leb_cnt = min_ksa_leb_cnt << 1;
 	min_ksa_leb_cnt += UBIFS_KSA_ADD_LEBS;
 	max_ksa_leb_cnt += UBIFS_KSA_ADD_LEBS;
-- 
1.7.10




More information about the linux-mtd mailing list