[JFFS2] Remove stray kfree of summary info in XATTR code.

Linux-MTD Mailing List linux-mtd at lists.infradead.org
Sun May 21 14:59:14 EDT 2006


Commit:     9167e0f811cbe28564c44a99c2f07b0ce5b368cf
Parent:     0bcc099d6d1a7b9fa2adf7c19812e4e816915e10
Author:     David Woodhouse <dwmw2 at infradead.org>
AuthorDate: Sun May 21 13:13:45 2006 +0100
Commit:     David Woodhouse <dwmw2 at infradead.org>
CommitDate: Sun May 21 13:13:45 2006 +0100

    [JFFS2] Remove stray kfree of summary info in XATTR code.
    
    We don't allocate this locally any more -- it's given to us and owner by
    our caller. Also improve the debug messages a little.
    
    Signed-off-by: David Woodhouse <dwmw2 at infradead.org>

 fs/jffs2/summary.c |   21 +++++++++++----------
 1 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/fs/jffs2/summary.c b/fs/jffs2/summary.c
index e60289a..5a59c61 100644
--- a/fs/jffs2/summary.c
+++ b/fs/jffs2/summary.c
@@ -411,8 +411,9 @@ static int jffs2_sum_process_sum_data(st
 
 				ino = je32_to_cpu(spi->inode);
 
-				dbg_summary("Inode at 0x%08x\n",
-							jeb->offset + je32_to_cpu(spi->offset));
+				dbg_summary("Inode at 0x%08x-0x%08x\n",
+					    jeb->offset + je32_to_cpu(spi->offset),
+					    jeb->offset + je32_to_cpu(spi->offset) + je32_to_cpu(spu->totlen));
 
 				raw = alloc_ref_at(c, jeb, je32_to_cpu(spi->offset));
 				if (!raw) {
@@ -446,7 +447,9 @@ static int jffs2_sum_process_sum_data(st
 				spd = sp;
 
 				dbg_summary("Dirent at 0x%08x\n",
-							jeb->offset + je32_to_cpu(spd->offset));
+					    jeb->offset + je32_to_cpu(spd->offset),
+					    jeb->offset + je32_to_cpu(spd->offset) + je32_to_cpu(spd->totlen));
+
 
 				fd = jffs2_alloc_full_dirent(spd->nsize+1);
 				if (!fd)
@@ -496,13 +499,13 @@ #ifdef CONFIG_JFFS2_FS_XATTR
 				struct jffs2_sum_xattr_flash *spx;
 
 				spx = (struct jffs2_sum_xattr_flash *)sp;
-				dbg_summary("xattr at %#08x (xid=%u, version=%u)\n", 
+				dbg_summary("xattr at %#08x-%#08x (xid=%u, version=%u)\n", 
 					    jeb->offset + je32_to_cpu(spx->offset),
+					    jeb->offset + je32_to_cpu(spx->offset) + je32_to_cpu(spx->totlen),
 					    je32_to_cpu(spx->xid), je32_to_cpu(spx->version));
 				raw = alloc_ref_at(c, jeb, je32_to_cpu(spx->offset));
 				if (!raw) {
 					JFFS2_NOTICE("allocation of node reference failed\n");
-					kfree(summary);
 					return -ENOMEM;
 				}
 				xd = jffs2_setup_xattr_datum(c, je32_to_cpu(spx->xid),
@@ -517,7 +520,6 @@ #ifdef CONFIG_JFFS2_FS_XATTR
 						break;
 					}
 					JFFS2_NOTICE("allocation of xattr_datum failed\n");
-					kfree(summary);
 					return PTR_ERR(xd);
 				}
 				xd->node = raw;
@@ -537,20 +539,19 @@ #ifdef CONFIG_JFFS2_FS_XATTR
 				struct jffs2_sum_xref_flash *spr;
 
 				spr = (struct jffs2_sum_xref_flash *)sp;
-				dbg_summary("xref at %#08x (xid=%u, ino=%u)\n",
+				dbg_summary("xref at %#08x-%#08x\n",
 					    jeb->offset + je32_to_cpu(spr->offset),
-					    je32_to_cpu(spr->xid), je32_to_cpu(spr->ino));
+					    jeb->offset + je32_to_cpu(spr->offset) + PAD(sizeof(struct jffs2_raw_xref)));
+
 				raw = alloc_ref_at(c, jeb, je32_to_cpu(spr->offset));
 				if (!raw) {
 					JFFS2_NOTICE("allocation of node reference failed\n");
-					kfree(summary);
 					return -ENOMEM;
 				}
 				ref = jffs2_alloc_xattr_ref();
 				if (!ref) {
 					JFFS2_NOTICE("allocation of xattr_datum failed\n");
 					jffs2_free_raw_node_ref(raw);
-					kfree(summary);
 					return -ENOMEM;
 				}
 				ref->ino = 0xfffffffe;



More information about the linux-mtd-cvs mailing list