[PATCH 2/3] jffs2:Remove redundant error checking after calling jffs2_scan_dirty_space in the file scan.c

Nicholas Krause xerofoify at gmail.com
Wed Jul 8 20:00:30 PDT 2015


This removes all redundant error checks agains the return value
of the function jffs2_scan_dirty_space in the file scan.c due
to this function always completing successfully and never returning
a error code to its caller to indicate a failure has occurred.

Signed-off-by: Nicholas Krause <xerofoify at gmail.com>
---
 fs/jffs2/scan.c | 75 +++++++++++++++++++--------------------------------------
 1 file changed, 25 insertions(+), 50 deletions(-)

diff --git a/fs/jffs2/scan.c b/fs/jffs2/scan.c
index 9ad5ba4..39f6032 100644
--- a/fs/jffs2/scan.c
+++ b/fs/jffs2/scan.c
@@ -72,8 +72,7 @@ static int file_dirty(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb)
 
 	if ((ret = jffs2_prealloc_raw_node_refs(c, jeb, 1)))
 		return ret;
-	if ((ret = jffs2_scan_dirty_space(c, jeb, jeb->free_size)))
-		return ret;
+	jffs2_scan_dirty_space(c, jeb, jeb->free_size);
 	/* Turned wasted size into dirty, since we apparently 
 	   think it's recoverable now. */
 	jeb->dirty_size += jeb->wasted_size;
@@ -330,14 +329,12 @@ static int jffs2_scan_xattr_node(struct jffs2_sb_info *c, struct jffs2_erasebloc
 {
 	struct jffs2_xattr_datum *xd;
 	uint32_t xid, version, totlen, crc;
-	int err;
 
 	crc = crc32(0, rx, sizeof(struct jffs2_raw_xattr) - 4);
 	if (crc != je32_to_cpu(rx->node_crc)) {
 		JFFS2_WARNING("node CRC failed at %#08x, read=%#08x, calc=%#08x\n",
 			      ofs, je32_to_cpu(rx->node_crc), crc);
-		if ((err = jffs2_scan_dirty_space(c, jeb, je32_to_cpu(rx->totlen))))
-			return err;
+		jffs2_scan_dirty_space(c, jeb, je32_to_cpu(rx->totlen));
 		return 0;
 	}
 
@@ -349,8 +346,7 @@ static int jffs2_scan_xattr_node(struct jffs2_sb_info *c, struct jffs2_erasebloc
 	if (totlen != je32_to_cpu(rx->totlen)) {
 		JFFS2_WARNING("node length mismatch at %#08x, read=%u, calc=%u\n",
 			      ofs, je32_to_cpu(rx->totlen), totlen);
-		if ((err = jffs2_scan_dirty_space(c, jeb, je32_to_cpu(rx->totlen))))
-			return err;
+		jffs2_scan_dirty_space(c, jeb, je32_to_cpu(rx->totlen));
 		return 0;
 	}
 
@@ -386,14 +382,12 @@ static int jffs2_scan_xref_node(struct jffs2_sb_info *c, struct jffs2_eraseblock
 {
 	struct jffs2_xattr_ref *ref;
 	uint32_t crc;
-	int err;
 
 	crc = crc32(0, rr, sizeof(*rr) - 4);
 	if (crc != je32_to_cpu(rr->node_crc)) {
 		JFFS2_WARNING("node CRC failed at %#08x, read=%#08x, calc=%#08x\n",
 			      ofs, je32_to_cpu(rr->node_crc), crc);
-		if ((err = jffs2_scan_dirty_space(c, jeb, PAD(je32_to_cpu(rr->totlen)))))
-			return err;
+		jffs2_scan_dirty_space(c, jeb, PAD(je32_to_cpu(rr->totlen)));
 		return 0;
 	}
 
@@ -401,8 +395,7 @@ static int jffs2_scan_xref_node(struct jffs2_sb_info *c, struct jffs2_eraseblock
 		JFFS2_WARNING("node length mismatch at %#08x, read=%u, calc=%zd\n",
 			      ofs, je32_to_cpu(rr->totlen),
 			      PAD(sizeof(struct jffs2_raw_xref)));
-		if ((err = jffs2_scan_dirty_space(c, jeb, je32_to_cpu(rr->totlen))))
-			return err;
+		jffs2_scan_dirty_space(c, jeb, je32_to_cpu(rr->totlen));
 		return 0;
 	}
 
@@ -594,8 +587,7 @@ full_scan:
 			  jeb->offset + ofs);
 		if ((err = jffs2_prealloc_raw_node_refs(c, jeb, 1)))
 			return err;
-		if ((err = jffs2_scan_dirty_space(c, jeb, ofs)))
-			return err;
+		jffs2_scan_dirty_space(c, jeb, ofs);
 	}
 
 	/* Now ofs is a complete physical flash offset as it always was... */
@@ -625,8 +617,7 @@ scan_more:
 		if (ofs == prevofs) {
 			pr_warn("ofs 0x%08x has already been seen. Skipping\n",
 				ofs);
-			if ((err = jffs2_scan_dirty_space(c, jeb, 4)))
-				return err;
+			jffs2_scan_dirty_space(c, jeb, 4);
 			ofs += 4;
 			continue;
 		}
@@ -637,8 +628,7 @@ scan_more:
 				  sizeof(struct jffs2_unknown_node),
 				  jeb->offset, c->sector_size, ofs,
 				  sizeof(*node));
-			if ((err = jffs2_scan_dirty_space(c, jeb, (jeb->offset + c->sector_size)-ofs)))
-				return err;
+			jffs2_scan_dirty_space(c, jeb, (jeb->offset + c->sector_size)-ofs);
 			break;
 		}
 
@@ -670,8 +660,7 @@ scan_more:
 				if (unlikely(*(uint32_t *)(&buf[inbuf_ofs]) != 0xffffffff)) {
 					pr_warn("Empty flash at 0x%08x ends at 0x%08x\n",
 						empty_start, ofs);
-					if ((err = jffs2_scan_dirty_space(c, jeb, ofs-empty_start)))
-						return err;
+					jffs2_scan_dirty_space(c, jeb, ofs-empty_start);
 					goto scan_more;
 				}
 
@@ -718,23 +707,20 @@ scan_more:
 		if (ofs == jeb->offset && je16_to_cpu(node->magic) == KSAMTIB_CIGAM_2SFFJ) {
 			pr_warn("Magic bitmask is backwards at offset 0x%08x. Wrong endian filesystem?\n",
 				ofs);
-			if ((err = jffs2_scan_dirty_space(c, jeb, 4)))
-				return err;
+			jffs2_scan_dirty_space(c, jeb, 4);
 			ofs += 4;
 			continue;
 		}
 		if (je16_to_cpu(node->magic) == JFFS2_DIRTY_BITMASK) {
 			jffs2_dbg(1, "Dirty bitmask at 0x%08x\n", ofs);
-			if ((err = jffs2_scan_dirty_space(c, jeb, 4)))
-				return err;
+			jffs2_scan_dirty_space(c, jeb, 4);
 			ofs += 4;
 			continue;
 		}
 		if (je16_to_cpu(node->magic) == JFFS2_OLD_MAGIC_BITMASK) {
 			pr_warn("Old JFFS2 bitmask found at 0x%08x\n", ofs);
 			pr_warn("You cannot use older JFFS2 filesystems with newer kernels\n");
-			if ((err = jffs2_scan_dirty_space(c, jeb, 4)))
-				return err;
+			jffs2_scan_dirty_space(c, jeb, 4);
 			ofs += 4;
 			continue;
 		}
@@ -744,8 +730,7 @@ scan_more:
 				     __func__,
 				     JFFS2_MAGIC_BITMASK, ofs,
 				     je16_to_cpu(node->magic));
-			if ((err = jffs2_scan_dirty_space(c, jeb, 4)))
-				return err;
+			jffs2_scan_dirty_space(c, jeb, 4);
 			ofs += 4;
 			continue;
 		}
@@ -763,8 +748,7 @@ scan_more:
 				     je32_to_cpu(node->totlen),
 				     je32_to_cpu(node->hdr_crc),
 				     hdr_crc);
-			if ((err = jffs2_scan_dirty_space(c, jeb, 4)))
-				return err;
+			jffs2_scan_dirty_space(c, jeb, 4);
 			ofs += 4;
 			continue;
 		}
@@ -774,8 +758,7 @@ scan_more:
 			pr_warn("Node at 0x%08x with length 0x%08x would run over the end of the erase block\n",
 				ofs, je32_to_cpu(node->totlen));
 			pr_warn("Perhaps the file system was created with the wrong erase size?\n");
-			if ((err = jffs2_scan_dirty_space(c, jeb, 4)))
-				return err;
+			jffs2_scan_dirty_space(c, jeb, 4);
 			ofs += 4;
 			continue;
 		}
@@ -784,8 +767,7 @@ scan_more:
 			/* Wheee. This is an obsoleted node */
 			jffs2_dbg(2, "Node at 0x%08x is obsolete. Skipping\n",
 				  ofs);
-			if ((err = jffs2_scan_dirty_space(c, jeb, PAD(je32_to_cpu(node->totlen)))))
-				return err;
+			jffs2_scan_dirty_space(c, jeb, PAD(je32_to_cpu(node->totlen)));
 			ofs += PAD(je32_to_cpu(node->totlen));
 			continue;
 		}
@@ -868,14 +850,12 @@ scan_more:
 				pr_notice("CLEANMARKER node found at 0x%08x has totlen 0x%x != normal 0x%x\n",
 					  ofs, je32_to_cpu(node->totlen),
 					  c->cleanmarker_size);
-				if ((err = jffs2_scan_dirty_space(c, jeb, PAD(sizeof(struct jffs2_unknown_node)))))
-					return err;
+				jffs2_scan_dirty_space(c, jeb, PAD(sizeof(struct jffs2_unknown_node)));
 				ofs += PAD(sizeof(struct jffs2_unknown_node));
 			} else if (jeb->first_node) {
 				pr_notice("CLEANMARKER node found at 0x%08x, not first node in block (0x%08x)\n",
 					  ofs, jeb->offset);
-				if ((err = jffs2_scan_dirty_space(c, jeb, PAD(sizeof(struct jffs2_unknown_node)))))
-					return err;
+				jffs2_scan_dirty_space(c, jeb, PAD(sizeof(struct jffs2_unknown_node)));
 				ofs += PAD(sizeof(struct jffs2_unknown_node));
 			} else {
 				jffs2_link_node_ref(c, jeb, ofs | REF_NORMAL, c->cleanmarker_size, NULL);
@@ -887,8 +867,7 @@ scan_more:
 		case JFFS2_NODETYPE_PADDING:
 			if (jffs2_sum_active())
 				jffs2_sum_add_padding_mem(s, je32_to_cpu(node->totlen));
-			if ((err = jffs2_scan_dirty_space(c, jeb, PAD(je32_to_cpu(node->totlen)))))
-				return err;
+			jffs2_scan_dirty_space(c, jeb, PAD(je32_to_cpu(node->totlen)));
 			ofs += PAD(je32_to_cpu(node->totlen));
 			break;
 
@@ -900,8 +879,7 @@ scan_more:
 				c->flags |= JFFS2_SB_FLAG_RO;
 				if (!(jffs2_is_readonly(c)))
 					return -EROFS;
-				if ((err = jffs2_scan_dirty_space(c, jeb, PAD(je32_to_cpu(node->totlen)))))
-					return err;
+				jffs2_scan_dirty_space(c, jeb, PAD(je32_to_cpu(node->totlen)));
 				ofs += PAD(je32_to_cpu(node->totlen));
 				break;
 
@@ -913,8 +891,7 @@ scan_more:
 			case JFFS2_FEATURE_RWCOMPAT_DELETE:
 				jffs2_dbg(1, "Unknown but compatible feature node (0x%04x) found at offset 0x%08x\n",
 					  je16_to_cpu(node->nodetype), ofs);
-				if ((err = jffs2_scan_dirty_space(c, jeb, PAD(je32_to_cpu(node->totlen)))))
-					return err;
+				jffs2_scan_dirty_space(c, jeb, PAD(je32_to_cpu(node->totlen)));
 				ofs += PAD(je32_to_cpu(node->totlen));
 				break;
 
@@ -1008,8 +985,9 @@ static int jffs2_scan_inode_node(struct jffs2_sb_info *c, struct jffs2_erasebloc
 		 * We believe totlen because the CRC on the node
 		 * _header_ was OK, just the node itself failed.
 		 */
-		return jffs2_scan_dirty_space(c, jeb,
+		jffs2_scan_dirty_space(c, jeb,
 					      PAD(je32_to_cpu(ri->totlen)));
+		return 0;
 	}
 
 	ic = jffs2_get_ino_cache(c, ino);
@@ -1043,7 +1021,6 @@ static int jffs2_scan_dirent_node(struct jffs2_sb_info *c, struct jffs2_eraseblo
 	struct jffs2_inode_cache *ic;
 	uint32_t checkedlen;
 	uint32_t crc;
-	int err;
 
 	jffs2_dbg(1, "%s(): Node at 0x%08x\n", __func__, ofs);
 
@@ -1055,8 +1032,7 @@ static int jffs2_scan_dirent_node(struct jffs2_sb_info *c, struct jffs2_eraseblo
 		pr_notice("%s(): Node CRC failed on node at 0x%08x: Read 0x%08x, calculated 0x%08x\n",
 			  __func__, ofs, je32_to_cpu(rd->node_crc), crc);
 		/* We believe totlen because the CRC on the node _header_ was OK, just the node itself failed. */
-		if ((err = jffs2_scan_dirty_space(c, jeb, PAD(je32_to_cpu(rd->totlen)))))
-			return err;
+		jffs2_scan_dirty_space(c, jeb, PAD(je32_to_cpu(rd->totlen)));
 		return 0;
 	}
 
@@ -1084,8 +1060,7 @@ static int jffs2_scan_dirent_node(struct jffs2_sb_info *c, struct jffs2_eraseblo
 		jffs2_free_full_dirent(fd);
 		/* FIXME: Why do we believe totlen? */
 		/* We believe totlen because the CRC on the node _header_ was OK, just the name failed. */
-		if ((err = jffs2_scan_dirty_space(c, jeb, PAD(je32_to_cpu(rd->totlen)))))
-			return err;
+		jffs2_scan_dirty_space(c, jeb, PAD(je32_to_cpu(rd->totlen)));
 		return 0;
 	}
 	ic = jffs2_scan_make_ino_cache(c, je32_to_cpu(rd->pino));
-- 
2.1.4




More information about the linux-mtd mailing list