[PATCH 1/2] jffs2: fix wrong offset in an error msg from __jff2_dbg_prewrite_paranoia_check

Cyrille Pitchen cyrille.pitchen at atmel.com
Tue Oct 21 01:04:59 PDT 2014


When a none 0xff character is found in the flash buffer, an error message is
printed. This error message claims to provide the offset of the FIRST corrupted
byte but due to a missing break in the for loop, the former code always prints
the offset of the byte immediately after the end of the tested buffer.

Signed-off-by: Cyrille Pitchen <cyrille.pitchen at atmel.com>
---
 fs/jffs2/debug.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/fs/jffs2/debug.c b/fs/jffs2/debug.c
index 1090eb6..07bd5bc 100644
--- a/fs/jffs2/debug.c
+++ b/fs/jffs2/debug.c
@@ -141,12 +141,11 @@ __jffs2_dbg_prewrite_paranoia_check(struct jffs2_sb_info *c,
 		return;
 	}
 
-	ret = 0;
 	for (i = 0; i < len; i++)
 		if (buf[i] != 0xff)
-			ret = 1;
+			break;
 
-	if (ret) {
+	if (i != len) {
 		JFFS2_ERROR("argh, about to write node to %#08x on flash, but there are data already there. The first corrupted byte is at %#08x offset.\n",
 			ofs, ofs + i);
 		__jffs2_dbg_dump_buffer(buf, len, ofs);
-- 
1.8.2.2




More information about the linux-mtd mailing list