summaryrefslogtreecommitdiffstats
path: root/fs/ubifs/super.c
diff options
context:
space:
mode:
authorArtem Bityutskiy2008-11-01 13:20:50 +0100
committerArtem Bityutskiy2008-12-03 12:13:59 +0100
commita1dc080c27ec8ea7ca1c8a9b499362a71ebff792 (patch)
treea41c931fb6f7c8bdc0c3481545892216921074eb /fs/ubifs/super.c
parentUBIFS: slight compression optimization (diff)
downloadkernel-qcow2-linux-a1dc080c27ec8ea7ca1c8a9b499362a71ebff792.tar.gz
kernel-qcow2-linux-a1dc080c27ec8ea7ca1c8a9b499362a71ebff792.tar.xz
kernel-qcow2-linux-a1dc080c27ec8ea7ca1c8a9b499362a71ebff792.zip
UBIFS: use bit-fields to store compression type
Save a 4 bytes of RAM per 'struct inode' by stroring inode compression type in bit-filed, instead of using 'int'. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Diffstat (limited to 'fs/ubifs/super.c')
-rw-r--r--fs/ubifs/super.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
index d80b2aef42b6..21b4103271ec 100644
--- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c
@@ -2021,6 +2021,14 @@ static int __init ubifs_init(void)
BUILD_BUG_ON(UBIFS_REF_NODE_SZ != 64);
/*
+ * We use 2 bit wide bit-fields to store compression type, which should
+ * be amended if more compressors are added. The bit-fields are:
+ * @compr_type in 'struct ubifs_inode' and @default_compr in
+ * 'struct ubifs_info'.
+ */
+ BUILD_BUG_ON(UBIFS_COMPR_TYPES_CNT > 4);
+
+ /*
* We require that PAGE_CACHE_SIZE is greater-than-or-equal-to
* UBIFS_BLOCK_SIZE. It is assumed that both are powers of 2.
*/