mtd/fs/jffs2 compr_zlib.c,1.16,1.17 super-v24.c,1.61,1.62 super.c,1.65,1.66
David Woodhouse
dwmw2 at infradead.org
Wed Mar 27 06:51:21 EST 2002
Update of /home/cvs/mtd/fs/jffs2
In directory phoenix.infradead.org:/tmp/cvs-serv25382
Modified Files:
compr_zlib.c super-v24.c super.c
Log Message:
free zlib spaces in error paths
Index: compr_zlib.c
===================================================================
RCS file: /home/cvs/mtd/fs/jffs2/compr_zlib.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- compr_zlib.c 27 Mar 2002 09:57:24 -0000 1.16
+++ compr_zlib.c 27 Mar 2002 11:51:19 -0000 1.17
@@ -79,7 +79,7 @@
return 0;
}
-void __exit jffs2_zlib_exit(void)
+void jffs2_zlib_exit(void)
{
vfree(deflate_workspace);
vfree(inflate_workspace);
Index: super-v24.c
===================================================================
RCS file: /home/cvs/mtd/fs/jffs2/super-v24.c,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -r1.61 -r1.62
--- super-v24.c 17 Mar 2002 16:58:07 -0000 1.61
+++ super-v24.c 27 Mar 2002 11:51:19 -0000 1.62
@@ -146,18 +146,26 @@
ret = jffs2_zlib_init();
if (ret) {
printk(KERN_ERR "JFFS2 error: Failed to initialise zlib workspaces\n");
- return ret;
+ goto out;
}
ret = jffs2_create_slab_caches();
if (ret) {
printk(KERN_ERR "JFFS2 error: Failed to initialise slab caches\n");
- return ret;
+ goto out_zlib;
}
ret = register_filesystem(&jffs2_fs_type);
if (ret) {
printk(KERN_ERR "JFFS2 error: Failed to register filesystem\n");
- jffs2_destroy_slab_caches();
+ goto out_slab;
}
+ return 0;
+
+ out_slab:
+ jffs2_destroy_slab_caches();
+ out_zlib:
+ jffs2_zlib_exit();
+ out:
+
return ret;
}
Index: super.c
===================================================================
RCS file: /home/cvs/mtd/fs/jffs2/super.c,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -r1.65 -r1.66
--- super.c 17 Mar 2002 16:58:07 -0000 1.65
+++ super.c 27 Mar 2002 11:51:19 -0000 1.66
@@ -323,18 +323,25 @@
ret = jffs2_zlib_init();
if (ret) {
printk(KERN_ERR "JFFS2 error: Failed to initialise zlib workspaces\n");
- return ret;
+ goto out;
}
ret = jffs2_create_slab_caches();
if (ret) {
printk(KERN_ERR "JFFS2 error: Failed to initialise slab caches\n");
- return ret;
+ goto out_zlib;
}
ret = register_filesystem(&jffs2_fs_type);
if (ret) {
printk(KERN_ERR "JFFS2 error: Failed to register filesystem\n");
- jffs2_destroy_slab_caches();
+ goto out_slab;
}
+ return 0;
+
+ out_slab:
+ jffs2_destroy_slab_caches();
+ out_zlib:
+ jffs2_zlib_exit();
+ out:
return ret;
}
More information about the linux-mtd-cvs
mailing list