From: "Jörn Engel" <joern@wohnheim.fh-wedel.de>
To: syed khader <khader_s_s@yahoo.com>
Cc: linux-mtd@lists.infradead.org
Subject: Re: CRC errors when continuous fseek/fputs on JFFS2
Date: Mon, 15 May 2006 17:46:06 +0200 [thread overview]
Message-ID: <20060515154606.GB10730@wohnheim.fh-wedel.de> (raw)
In-Reply-To: <20060515151556.21775.qmail@web37902.mail.mud.yahoo.com>
On Mon, 15 May 2006 08:15:56 -0700, syed khader wrote:
>
> I am finding this strange problem.
> I am running the following piece of code :
>
> int main()
> {
> FILE *fp;
> int i;
> fp = fopen("/var/mnt/testfile","w");
> for(i =0 ; i < 100000 ; i++)
> {
> fputs("xxxx", fp);
> fseek(fp, -4, SEEK_CUR);
^^
> fputs("xx", fp);
> }
> fclose(fp);
> }
>
> JFFS2 is mounted on /var/mnt. While the program is
> running I am getting CRC errors like this:
>
> Data CRC 6c48916e != calculated CRC 11ebde1b for node
> at 000e0a68
>
> If I am not doing fseek above and just add writing
> to file in the loop I dont see any CRC errors.
> Pleae let me know what is happening here. Is JFFS2
> running out of buffers or something?
fopen(...,"w") will set fpos to 0. fseek(..., -4, SEEK_CUR) then sets
it _back_. I would assume that an integer underflow happens next and
fpos is close to 2^31, 2^32, 2^63 or 2^64. What is certain is that
your testcase is not a valid piece of code.
Can you try to change your testcase in two ways:
o replace fopen/fseek/fwrite etc. with open/seek/write etc.
o seek to something large directly after open
and retest with that?
"something large" should be one of 2^31-1, 2^32-1, 2^63-1 or 2^64-1, I
believe.
Jörn
--
Measure. Don't tune for speed until you've measured, and even then
don't unless one part of the code overwhelms the rest.
-- Rob Pike
next prev parent reply other threads:[~2006-05-15 15:51 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-15 15:15 CRC errors when continuous fseek/fputs on JFFS2 syed khader
2006-05-15 15:46 ` Jörn Engel [this message]
2006-05-15 15:57 ` Jörn Engel
[not found] <20060516061354.GA18958@wohnheim.fh-wedel.de>
2006-05-16 12:40 ` syed khader
2006-05-16 14:26 ` Jörn Engel
2006-05-16 15:01 ` syed khader
2006-05-16 15:31 ` Jörn Engel
2006-05-17 5:12 ` syed khader
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060515154606.GB10730@wohnheim.fh-wedel.de \
--to=joern@wohnheim.fh-wedel.de \
--cc=khader_s_s@yahoo.com \
--cc=linux-mtd@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox