summaryrefslogtreecommitdiff
path: root/fs/jffs2/jffs2_1pass.c
diff options
context:
space:
mode:
authorwdenk <wdenk>2005-05-05 00:04:14 +0000
committerwdenk <wdenk>2005-05-05 00:04:14 +0000
commit07cc0999413481568b38b8d0e5f3d7514d9540b0 (patch)
tree56955f165a6a1c2647acbaaa8f5783b3b74277c9 /fs/jffs2/jffs2_1pass.c
parentcf8bc5773c27adf325d7bb1a90d290b213a57417 (diff)
Major upate of JFFS2 code; now in sync with snapshot of MTD CVS of
March 13, 2005); new configuration options CONFIG_JFFS2_LZO and CONFIG_JFFS2_LZARI are added. Both are undefined by default.
Diffstat (limited to 'fs/jffs2/jffs2_1pass.c')
-rw-r--r--fs/jffs2/jffs2_1pass.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/fs/jffs2/jffs2_1pass.c b/fs/jffs2/jffs2_1pass.c
index f3a9c53997..a025116b7f 100644
--- a/fs/jffs2/jffs2_1pass.c
+++ b/fs/jffs2/jffs2_1pass.c
@@ -274,7 +274,13 @@ static char *compr_names[] = {
"RUBINMIPS",
"COPY",
"DYNRUBIN",
- "ZLIB"
+ "ZLIB",
+#if defined(CONFIG_JFFS2_LZO)
+ "LZO",
+#endif
+#if defined(CONFIG_JFFS2_LZARI)
+ "LZARI",
+#endif
};
/* Spinning wheel */
@@ -583,6 +589,16 @@ jffs2_1pass_read_inode(struct b_lists *pL, u32 inode, char *dest)
case JFFS2_COMPR_ZLIB:
ret = zlib_decompress(src, lDest, jNode->csize, jNode->dsize);
break;
+#if defined(CONFIG_JFFS2_LZARI)
+ case JFFS2_COMPR_LZARI:
+ ret = lzari_decompress(src, lDest, jNode->csize, jNode->dsize);
+ break;
+#endif
+#if defined(CONFIG_JFFS2_LZO)
+ case JFFS2_COMPR_LZO:
+ ret = lzo_decompress(src, lDest, jNode->csize, jNode->dsize);
+ break;
+#endif
default:
/* unknown */
putLabeledWord("UNKOWN COMPRESSION METHOD = ", jNode->compr);