summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2008-10-22 14:23:00 +0300
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2008-10-22 15:31:12 +0300
commit06ff08f391e0297c4fcde63b801e6992d2238ae2 (patch)
tree9ed853db391876a887962c1d75b1c13786ce85bf
parentd217a4e65084b0ef807e5749513bff16ddfb0b58 (diff)
Define the worst case compression constant
It will be used in the next patches. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
-rw-r--r--mkfs.ubifs/compr.h8
-rw-r--r--mkfs.ubifs/mkfs.ubifs.c3
2 files changed, 10 insertions, 1 deletions
diff --git a/mkfs.ubifs/compr.h b/mkfs.ubifs/compr.h
index c76a5b9..e3dd95c 100644
--- a/mkfs.ubifs/compr.h
+++ b/mkfs.ubifs/compr.h
@@ -23,6 +23,14 @@
#ifndef __UBIFS_COMPRESS_H__
#define __UBIFS_COMPRESS_H__
+/*
+ * Compressors may end-up with more data in the output buffer than in the input
+ * buffer. This constant defined the worst case factor, i.e. we assume that the
+ * output buffer may be at max. WORST_COMPR_FACTOR times larger than input
+ * buffer.
+ */
+#define WORST_COMPR_FACTOR 4
+
enum compression_type
{
MKFS_UBIFS_COMPR_NONE,
diff --git a/mkfs.ubifs/mkfs.ubifs.c b/mkfs.ubifs/mkfs.ubifs.c
index 65ebc8c..18ede49 100644
--- a/mkfs.ubifs/mkfs.ubifs.c
+++ b/mkfs.ubifs/mkfs.ubifs.c
@@ -28,7 +28,8 @@
#define HASH_TABLE_SIZE 10099
/* The node buffer must allow for worst case compression */
-#define NODE_BUFFER_SIZE (UBIFS_DATA_NODE_SZ + UBIFS_BLOCK_SIZE * 4)
+#define NODE_BUFFER_SIZE (UBIFS_DATA_NODE_SZ + \
+ UBIFS_BLOCK_SIZE * WORST_COMPR_FACTOR)
/* Default time granularity in nanoseconds */
#define DEFAULT_TIME_GRAN 1000000000