[Fwd: Re: a problem about jffs2]
YangLu YangLu
luyang_ly at hotmail.com
Fri Nov 11 00:30:24 EST 2005
But in linux-2.4.18(Now in linux-2.6.12) with same flash(NOR),
I used the same test routine, available space on /dev/mtdblock4
would not continue to reduce.
Had GC's method been changed?
Thanks!
Regards,
Richard
>From: "zhao, forrest" <forrest.zhao at intel.com>
>To: "Artem B. Bityutskiy" <dedekind at yandex.ru>
>CC: linux-mtd at lists.infradead.org, luyang_ly at hotmail.com
>Subject: Re: [Fwd: Re: a problem about jffs2]
>Date: Fri, 11 Nov 2005 11:32:27 +0800
>
>
> > > Dear Linus:
> > >
> > > I recently meet a problem about jffs2.
> > >
> > > There have three sectors in my mobilephone(OMAP730):
> > > /dev/mtdblock3 16384 3276 13108 20% /System
> > > /dev/mtdblock4 2048 388 1660 19% /Sysdisk
> > > /dev/mtdblock5 5120 388 4732 8% /Appdisk
> > >
> > > I built new file(ph_bk) in /Sysdisk dirctory. I write a test
> > > program, as follows:
> > > 1) open it.
> > > fd = fopen(argv[1], "r+");
> > > 2) fseek with a random number, then write a number
> > > for (;;) {
> > > offset = rand();
> > > fseek(fd, offset % (1024*1024), SEEK_SET);
> > > fwrite(&offset,sizeof(int), 1, fd);
> > > }
> > >
> > > I want to limit the file with 1M size, but when the test program run
> > > in background,
> > > this file maintain 1M size, but available space on /dev/mtdblock4
> > > continue to reduce, as below:
> > > Filesystem 1k-blocks Used Available Use% Mounted on
> > > /dev/mtdblock4 2048 512 1536 25% /Sysdisk
> > > /dev/mtdblock4 2048 688 1360 34% /Sysdisk
> > > /dev/mtdblock4 2048 792 1256 39% /Sysdisk
> > > /dev/mtdblock4 2048 856 1192 42% /Sysdisk
> > > /dev/mtdblock4 2048 1212 836 59% /Sysdisk
> > > /dev/mtdblock4 2048 1516 532 74% /Sysdisk
> > > /dev/mtdblock4 2048 1920 128 94% /Sysdisk
> > >
> > > Is it jffs2 filesystem's bug?
> > >
>I once did some testing like yours, and had the same result.
>
>I would say that this is an intrinsic nature of JFFS2 instead of a
>JFFS2's bug.
>Updating 4 bytes of a file for every write operation will cause
>flash space wasting since every write operation generate an
>jffs2_raw_inode + 4 bytes on flash. sizeof(jffs2_raw_inode) is 68 bytes.
>
>Thanks,
>Forrest
>
More information about the linux-mtd
mailing list