* jffs2: too few erase blocks @ 2007-10-25 14:06 Duke 2007-10-25 14:22 ` Josh Boyer 0 siblings, 1 reply; 17+ messages in thread From: Duke @ 2007-10-25 14:06 UTC (permalink / raw) To: linux-mtd Hi All, What's the deal with "too few erase blocks" message? Is one block too few for a jffs2 partition? My block size if 256K and I created a small jffs2 256K partition for read/writing. Is this really too small for jffs2? If so, is there anything I can do for this? Thanks D. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: jffs2: too few erase blocks 2007-10-25 14:06 jffs2: too few erase blocks Duke @ 2007-10-25 14:22 ` Josh Boyer 2007-10-25 22:15 ` Jamie Lokier 0 siblings, 1 reply; 17+ messages in thread From: Josh Boyer @ 2007-10-25 14:22 UTC (permalink / raw) To: Duke; +Cc: linux-mtd On Thu, 25 Oct 2007 09:06:29 -0500 Duke <ezbonites@gmail.com> wrote: > Hi All, > What's the deal with "too few erase blocks" message? > Is one block too few for a jffs2 partition? > My block size if 256K and I created a small jffs2 256K partition for > read/writing. > Is this really too small for jffs2? If so, is there anything I can do for this? Yes, it's too small. JFFS2 requires a certain percentage of blocks in the partition to be reserved for it's usage. At one point, it was 5 eraseblocks. The only solution that I know of is to grow your partition to cope with that limitation. josh ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: jffs2: too few erase blocks 2007-10-25 14:22 ` Josh Boyer @ 2007-10-25 22:15 ` Jamie Lokier 2007-10-26 17:00 ` Duke 0 siblings, 1 reply; 17+ messages in thread From: Jamie Lokier @ 2007-10-25 22:15 UTC (permalink / raw) To: Josh Boyer; +Cc: linux-mtd, Duke Josh Boyer wrote: > > Hi All, > > What's the deal with "too few erase blocks" message? > > Is one block too few for a jffs2 partition? > > My block size if 256K and I created a small jffs2 256K partition for > > read/writing. > > Is this really too small for jffs2? If so, is there anything I can do for this? > > Yes, it's too small. JFFS2 requires a certain percentage of blocks in > the partition to be reserved for it's usage. At one point, it was 5 > eraseblocks. Fwiw, 5 blocks worth of free space is no guarantee that it'll be fine. I have a 1MB JFFS2 partition with 64kB eraseblocks. That's 320kB in 5 blocks. But it can return disk full errors when reporting more than 320kB free with 'df' (somewhere between 5 and 6 blocks worth), and it can also do strange things shortly before it returns disk full errors, like spending lots of CPU on GC. -- Jamie ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: jffs2: too few erase blocks 2007-10-25 22:15 ` Jamie Lokier @ 2007-10-26 17:00 ` Duke 2007-10-26 21:02 ` Duke 0 siblings, 1 reply; 17+ messages in thread From: Duke @ 2007-10-26 17:00 UTC (permalink / raw) To: Jamie Lokier; +Cc: Josh Boyer, linux-mtd On 10/25/07, Jamie Lokier <jamie@shareable.org> wrote: > Josh Boyer wrote: > > > Hi All, > > > What's the deal with "too few erase blocks" message? > > > Is one block too few for a jffs2 partition? > > > My block size if 256K and I created a small jffs2 256K partition for > > > read/writing. > > > Is this really too small for jffs2? If so, is there anything I can do for this? > > > > Yes, it's too small. JFFS2 requires a certain percentage of blocks in > > the partition to be reserved for it's usage. At one point, it was 5 > > eraseblocks. > > Fwiw, 5 blocks worth of free space is no guarantee that it'll be fine. > I have a 1MB JFFS2 partition with 64kB eraseblocks. That's 320kB in 5 > blocks. But it can return disk full errors when reporting more than > 320kB free with 'df' (somewhere between 5 and 6 blocks worth), and it > can also do strange things shortly before it returns disk full errors, > like spending lots of CPU on GC. Is there another read/write filesystem I can use in this space? If I were to create a subdirectory and rw to that dir only? and can I do this with mtd_debug tool? ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: jffs2: too few erase blocks 2007-10-26 17:00 ` Duke @ 2007-10-26 21:02 ` Duke 2007-10-28 18:02 ` Jamie Lokier 0 siblings, 1 reply; 17+ messages in thread From: Duke @ 2007-10-26 21:02 UTC (permalink / raw) To: Jamie Lokier; +Cc: Josh Boyer, linux-mtd On 10/26/07, Duke <ezbonites@gmail.com> wrote: > On 10/25/07, Jamie Lokier <jamie@shareable.org> wrote: > > Josh Boyer wrote: > > > > Hi All, > > > > What's the deal with "too few erase blocks" message? > > > > Is one block too few for a jffs2 partition? > > > > My block size if 256K and I created a small jffs2 256K partition for > > > > read/writing. > > > > Is this really too small for jffs2? If so, is there anything I can do for this? > > > > > > Yes, it's too small. JFFS2 requires a certain percentage of blocks in > > > the partition to be reserved for it's usage. At one point, it was 5 > > > eraseblocks. > > > > Fwiw, 5 blocks worth of free space is no guarantee that it'll be fine. > > I have a 1MB JFFS2 partition with 64kB eraseblocks. That's 320kB in 5 > > blocks. But it can return disk full errors when reporting more than > > 320kB free with 'df' (somewhere between 5 and 6 blocks worth), and it > > can also do strange things shortly before it returns disk full errors, > > like spending lots of CPU on GC. > > Is there another read/write filesystem I can use in this space? > > If I were to create a subdirectory and rw to that dir only? and can I > do this with mtd_debug tool? Just to clarity myself a bit here. There is nothing stopping me from using the cp or mv (or any other file modification command for that matter) to update one directory but I would like to be able to verify the data is actually written and I thought perhaps mtd_debug or some other mtd tool might be able to verify this. Maybe it's not maybe it is, I would like to find out. Thanks. -D ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: jffs2: too few erase blocks 2007-10-26 21:02 ` Duke @ 2007-10-28 18:02 ` Jamie Lokier 2007-10-29 2:59 ` David Woodhouse 0 siblings, 1 reply; 17+ messages in thread From: Jamie Lokier @ 2007-10-28 18:02 UTC (permalink / raw) To: Duke; +Cc: Josh Boyer, linux-mtd Duke wrote: > Just to clarity myself a bit here. There is nothing stopping me from > using the cp or mv (or any other file modification command for that > matter) to update one directory but I would like to be able to verify > the data is actually written and I thought perhaps mtd_debug or some > other mtd tool might be able to verify this. Maybe it's not maybe it > is, I would like to find out. If you call "fsync()" or "fdatasync()" after writing the data to a file, that is suppoe to ensure the data is written when the function returns. That's supposed to happen, but I don't know if JFFS2 actually does that. If you call fsync() on a directory handle, that traditionally ensures the file names in that directory are written. So to be sure of creating a file and writing to it, you would create the file, write it, fsync() it, then open the directory containing the file and fsync() the directory. For example, email delivery programs use that strategy before reporting to a sender that the email is safely stored. But again, I don't know if JFFS2 actually does provide those assurances. -- Jamie ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: jffs2: too few erase blocks 2007-10-28 18:02 ` Jamie Lokier @ 2007-10-29 2:59 ` David Woodhouse 2007-10-29 14:38 ` Jörn Engel 0 siblings, 1 reply; 17+ messages in thread From: David Woodhouse @ 2007-10-29 2:59 UTC (permalink / raw) To: Jamie Lokier; +Cc: Josh Boyer, linux-mtd, Duke On Sun, 2007-10-28 at 18:02 +0000, Jamie Lokier wrote: > > If you call "fsync()" or "fdatasync()" after writing the data to a > file, that is suppoe to ensure the data is written when the function > returns. > > That's supposed to happen, but I don't know if JFFS2 actually does > that. > > If you call fsync() on a directory handle, that traditionally ensures > the file names in that directory are written. So to be sure of > creating a file and writing to it, you would create the file, write > it, fsync() it, then open the directory containing the file and > fsync() the directory. For example, email delivery programs use that > strategy before reporting to a sender that the email is safely stored. > > But again, I don't know if JFFS2 actually does provide those > assurances. Yes, it does. In fact, on NOR flash you get entirely synchronous behaviour even _without_ explicit syncs -- effectively the same as MS_SYNC. -- dwmw2 ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: jffs2: too few erase blocks 2007-10-29 2:59 ` David Woodhouse @ 2007-10-29 14:38 ` Jörn Engel 2007-10-29 20:51 ` Jamie Lokier 0 siblings, 1 reply; 17+ messages in thread From: Jörn Engel @ 2007-10-29 14:38 UTC (permalink / raw) To: David Woodhouse; +Cc: linux-mtd, Josh Boyer, Jamie Lokier, Duke On Sun, 28 October 2007 22:59:07 -0400, David Woodhouse wrote: > > Yes, it does. In fact, on NOR flash you get entirely synchronous > behaviour even _without_ explicit syncs -- effectively the same as > MS_SYNC. On older ones. There appears to be a tendency for newer flashes to require wbuf and hence sync. Jörn -- Joern's library part 4: http://www.paulgraham.com/spam.html ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: jffs2: too few erase blocks 2007-10-29 14:38 ` Jörn Engel @ 2007-10-29 20:51 ` Jamie Lokier 2007-10-29 21:40 ` David Woodhouse 2007-10-29 21:54 ` Jörn Engel 0 siblings, 2 replies; 17+ messages in thread From: Jamie Lokier @ 2007-10-29 20:51 UTC (permalink / raw) To: Jörn Engel; +Cc: linux-mtd, Josh Boyer, David Woodhouse, Duke Jörn Engel wrote: > On Sun, 28 October 2007 22:59:07 -0400, David Woodhouse wrote: > > > > Yes, it does. In fact, on NOR flash you get entirely synchronous > > behaviour even _without_ explicit syncs -- effectively the same as > > MS_SYNC. > > On older ones. There appears to be a tendency for newer flashes to > require wbuf and hence sync. When you say "sync", do fdatasync() / fsync() on open files and directories flush the necessary blocks from wbuf for those files/directories data and their inode metadata, for JFFS2? I have been calling sync(), but I wonder if fdatasync/fsync do as they are supposed to? (If you know about other fses like LogFS/Yaffs/UBIFS that would be handy, too). Probably all are unnecessary in my specific application, as I use a JFFS2 with cfi_cmdset_0002, which I get the impression doesn't buffer any writes anyway. But I like to get the application code right, in case I change to another device. -- Jamie ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: jffs2: too few erase blocks 2007-10-29 20:51 ` Jamie Lokier @ 2007-10-29 21:40 ` David Woodhouse 2007-10-29 22:50 ` Jamie Lokier 2007-10-29 21:54 ` Jörn Engel 1 sibling, 1 reply; 17+ messages in thread From: David Woodhouse @ 2007-10-29 21:40 UTC (permalink / raw) To: Jamie Lokier; +Cc: Jörn Engel, linux-mtd, Josh Boyer, Duke On Mon, 2007-10-29 at 20:51 +0000, Jamie Lokier wrote: > When you say "sync", do fdatasync() / fsync() on open files and > directories flush the necessary blocks from wbuf for those > files/directories data and their inode metadata, for JFFS2? > > I have been calling sync(), but I wonder if fdatasync/fsync do as they > are supposed to? They certainly should; if you find otherwise, please tell me. -- dwmw2 ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: jffs2: too few erase blocks 2007-10-29 21:40 ` David Woodhouse @ 2007-10-29 22:50 ` Jamie Lokier 0 siblings, 0 replies; 17+ messages in thread From: Jamie Lokier @ 2007-10-29 22:50 UTC (permalink / raw) To: David Woodhouse; +Cc: Jörn Engel, linux-mtd, Josh Boyer, Duke David Woodhouse wrote: > On Mon, 2007-10-29 at 20:51 +0000, Jamie Lokier wrote: > > When you say "sync", do fdatasync() / fsync() on open files and > > directories flush the necessary blocks from wbuf for those > > files/directories data and their inode metadata, for JFFS2? > > > > I have been calling sync(), but I wonder if fdatasync/fsync do as they > > are supposed to? > > They certainly should; if you find otherwise, please tell me. So far, with JFFS2 on cfi_cmdset_0002 NOR flash, on a Linux 2.4.26-uc0 kernel, I haven't seen any data failed to be committed after sync() returns. As JFFS2 is synchronous with this type of flash we shouldn't be surprised, and that makes fsync/fdatasync nops. If I ever do use another type of flash with JFFS2 (or any of the other flash fses) then I'll be sure to report any problems with fsync/fdatasync not committing data. See also my earlier message on what you might add to a test suite for these fses, to check fsync/fdatasync implementation much better than random application usage and system crashes can possibly do. Thanks, -- Jamie ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: jffs2: too few erase blocks 2007-10-29 20:51 ` Jamie Lokier 2007-10-29 21:40 ` David Woodhouse @ 2007-10-29 21:54 ` Jörn Engel 2007-10-29 22:46 ` Jamie Lokier 1 sibling, 1 reply; 17+ messages in thread From: Jörn Engel @ 2007-10-29 21:54 UTC (permalink / raw) To: Jamie Lokier Cc: linux-mtd, Jörn Engel, David Woodhouse, Josh Boyer, Duke On Mon, 29 October 2007 20:51:25 +0000, Jamie Lokier wrote: > > When you say "sync", do fdatasync() / fsync() on open files and > directories flush the necessary blocks from wbuf for those > files/directories data and their inode metadata, for JFFS2? > > I have been calling sync(), but I wonder if fdatasync/fsync do as they > are supposed to? > > (If you know about other fses like LogFS/Yaffs/UBIFS that would be > handy, too). fsync/fdatasync should work on logfs. If you know a good way to test this, I'd add it to my suite of regression tests. Right now I have to rely on reading the code. > Probably all are unnecessary in my specific application, as I use a > JFFS2 with cfi_cmdset_0002, which I get the impression doesn't buffer > any writes anyway. But I like to get the application code right, in > case I change to another device. Any filesystem should follow the standards here. Anything else is a bug. Jörn -- Victory in war is not repetitious. -- Sun Tzu ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: jffs2: too few erase blocks 2007-10-29 21:54 ` Jörn Engel @ 2007-10-29 22:46 ` Jamie Lokier 2007-10-30 16:09 ` Jörn Engel 0 siblings, 1 reply; 17+ messages in thread From: Jamie Lokier @ 2007-10-29 22:46 UTC (permalink / raw) To: Jörn Engel; +Cc: David Woodhouse, Josh Boyer, linux-mtd, Duke Jörn Engel wrote: > fsync/fdatasync should work on logfs. If you know a good way to test > this, I'd add it to my suite of regression tests. Right now I have to > rely on reading the code. Here's an idea for testing: 1. Open file w/O_CREAT|O_EXCL, write some data, then after write() returns, immediately force the MTD device read-only somehow (so anything not committed cannot be committed after this point). Then unmount and mount, and read the file. Then open the file: either it should't exist, or the written data shouldn't be present, if buffering is working. 2. If the file doesn't exist in test 1, call fsync() after opening the file and before writing, and also call fsync() on the directory containing the created file. Afterwards, the file should exist, but not contain the written data. 3. Variation: create file, write data, then fsync(), then overwrite with new data (not changing the length). Afterwards, the read data should be the first written data, not the second. 4. Same as tests 1, 2 and 3, but call fsync() after writing. This time, the written data should always be read back. This tests that fsync() makes a difference. 5. Same as test 3, but call fdatasync() instead of fsync(). The second written data should always be read back. 6. Create the file, set modtime to some fixed time A, call fsync(), set modtime to fixed time B, then set MTD read-only, unmount, mount. stat() the file: you might get time A. 7. As test 6, but call fsync() following the second setting of modtime. Afterwards, stat() should return time B, proving that fsync() commits the inode change. 8. As test 7 but using fdatasync(): if it is really different from fsync(), you should get time A the same as test 6. 9. I'm not sure if fdatasync() is required to update the length of a file, when the file is extended by write() or ftruncate(). 10. Variations on the above involving small writes, large writes, and scattered writes. 10. fsync() tests on a directory involve doing changes to directories (changing the modtime, and creating/linking/unlinking/renaming in them) and checking the name change after marking the MTD device read-only and unmounting + mount. Quite similar to the above tests, but using directory operations. I'm not sure if fdatasync() has any meaning for directories (indeed I'm not sure if fsync() does formally). > > Probably all are unnecessary in my specific application, as I use a > > JFFS2 with cfi_cmdset_0002, which I get the impression doesn't buffer > > any writes anyway. But I like to get the application code right, in > > case I change to another device. > > Any filesystem should follow the standards here. Anything else is a > bug. True. But JFFS2 is a bit buggy from an application point of view (*), and we care about what an application can actually rely on in practice, not what the standard says :-) (*) Hence the subject of this thread, and the uncertainty of the answer to that question. Do any of the flash filesystems in development guarantee a specific amount of the partition can actually be used for data, and return "disk full" deterministically at that point, for a given set of file contents? Does the answer change if compression is disable? Do any of them not go suspiciously crazy with the CPU for a whole minute when it's nearly full, as JFFS2 GC threads do occasionally? I see lots of nice things in the white papers about the new fses, but GC problems, and the amount of space required, seems curiously glossed over. Does this mean they're fixed? I have been bitten hard by these areas of JFFS2. It wasn't pretty. Thanks :-) -- Jamie ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: jffs2: too few erase blocks 2007-10-29 22:46 ` Jamie Lokier @ 2007-10-30 16:09 ` Jörn Engel 2007-10-30 20:08 ` Duke 0 siblings, 1 reply; 17+ messages in thread From: Jörn Engel @ 2007-10-30 16:09 UTC (permalink / raw) To: Jamie Lokier Cc: David Woodhouse, Jörn Engel, linux-mtd, Josh Boyer, Duke On Mon, 29 October 2007 22:46:38 +0000, Jamie Lokier wrote: > > Here's an idea for testing: > > [...] Thank you. I won't get hacking on this right away, but it is appreciated. > > Any filesystem should follow the standards here. Anything else is a > > bug. > > True. But JFFS2 is a bit buggy from an application point of view (*), > and we care about what an application can actually rely on in > practice, not what the standard says :-) Notice the magical word "here". :) Jffs2 and logfs do diverge from the standards, or at least from other filesystems. I am aware of two differences: - all mounts implicitly set noatime, - rewriting data in existing non-sparse files can return -ENOSPC. The first makes at least some sense and the second cannot be avoided for compressed files. Logfs allows files to be non-compressing, though. Any further differences are likely bugs. > (*) Hence the subject of this thread, and the uncertainty of the > answer to that question. Do any of the flash filesystems in > development guarantee a specific amount of the partition can actually > be used for data, and return "disk full" deterministically at that > point, for a given set of file contents? I'm not sure if I interpret this correctly. With logfs, compression is optional. Disabling compression will remove one uncertainty. Also both data and metadata draw from the same pool. If you create a million empty files, the space for file content is reduced. After those two uncertainties, logfs is deterministic. Garbage collection will neither increase nor reduce the amount of available free space. > Does the answer change if > compression is disable? Do any of them not go suspiciously crazy with > the CPU for a whole minute when it's nearly full, as JFFS2 GC threads > do occasionally? Depending on the write pattern, they all will. When your filesystem is 99% full and your writes are completely random, you end up garbage collecting 99% old data for every 1% new data. Well, maybe they won't go crazy for a whole minute. That can be avoided. But they will become slow as molasses. Two things can be done about this. First, logfs will let you specify some amount of space reserved for GC. With 5% reserved, the pathological case is much better than with 1% or 0% reserved. Secondly, the applications should have some amount of structure in their writes. If 70% of the filesystem is never moved, the filesystem can actually get some usage spread. Having some segments 100% full and some 100% empty translates to good performance. Having all equally full, as happens for completely random writes, will give you molasses. Jörn -- You ain't got no problem, Jules. I'm on the motherfucker. Go back in there, chill them niggers out and wait for the Wolf, who should be coming directly. -- Marsellus Wallace ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: jffs2: too few erase blocks 2007-10-30 16:09 ` Jörn Engel @ 2007-10-30 20:08 ` Duke 2007-10-30 20:19 ` Jörn Engel 0 siblings, 1 reply; 17+ messages in thread From: Duke @ 2007-10-30 20:08 UTC (permalink / raw) To: Jörn Engel; +Cc: linux-mtd, Josh Boyer, Jamie Lokier, David Woodhouse On 10/30/07, Jörn Engel <joern@logfs.org> wrote: > On Mon, 29 October 2007 22:46:38 +0000, Jamie Lokier wrote: > > > > Here's an idea for testing: > > > > [...] > > Thank you. I won't get hacking on this right away, but it is > appreciated. > > > > Any filesystem should follow the standards here. Anything else is a > > > bug. > > > > True. But JFFS2 is a bit buggy from an application point of view (*), > > and we care about what an application can actually rely on in > > practice, not what the standard says :-) > > Notice the magical word "here". :) > > Jffs2 and logfs do diverge from the standards, or at least from other > filesystems. I am aware of two differences: > - all mounts implicitly set noatime, > - rewriting data in existing non-sparse files can return -ENOSPC. > > The first makes at least some sense and the second cannot be avoided for > compressed files. Logfs allows files to be non-compressing, though. > Any further differences are likely bugs. > > > (*) Hence the subject of this thread, and the uncertainty of the > > answer to that question. Do any of the flash filesystems in > > development guarantee a specific amount of the partition can actually > > be used for data, and return "disk full" deterministically at that > > point, for a given set of file contents? > > I'm not sure if I interpret this correctly. With logfs, compression is > optional. Disabling compression will remove one uncertainty. Also both > data and metadata draw from the same pool. If you create a million > empty files, the space for file content is reduced. After those two > uncertainties, logfs is deterministic. Garbage collection will neither > increase nor reduce the amount of available free space. > > > Does the answer change if > > compression is disable? Do any of them not go suspiciously crazy with > > the CPU for a whole minute when it's nearly full, as JFFS2 GC threads > > do occasionally? > > Depending on the write pattern, they all will. When your filesystem is > 99% full and your writes are completely random, you end up garbage > collecting 99% old data for every 1% new data. > > Well, maybe they won't go crazy for a whole minute. That can be > avoided. But they will become slow as molasses. > > Two things can be done about this. First, logfs will let you specify > some amount of space reserved for GC. With 5% reserved, the > pathological case is much better than with 1% or 0% reserved. > > Secondly, the applications should have some amount of structure in their > writes. If 70% of the filesystem is never moved, the filesystem can > actually get some usage spread. Having some segments 100% full and some > 100% empty translates to good performance. Having all equally full, as > happens for completely random writes, will give you molasses. > > Jörn After all is said and done, can the minimum number of jffs2 blocks be determined? Or it varies from system to system? Or flash system type (NOR flash in my case). --D. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: jffs2: too few erase blocks 2007-10-30 20:08 ` Duke @ 2007-10-30 20:19 ` Jörn Engel 2007-10-30 21:42 ` Duke 0 siblings, 1 reply; 17+ messages in thread From: Jörn Engel @ 2007-10-30 20:19 UTC (permalink / raw) To: Duke; +Cc: linux-mtd, Jörn Engel, Josh Boyer, Jamie Lokier, David Woodhouse On Tue, 30 October 2007 15:08:11 -0500, Duke wrote: > > After all is said and done, can the minimum number of jffs2 blocks be > determined? Or it varies from system to system? Or flash system type > (NOR flash in my case). It can. Please read jffs2_calc_trigger_levels() in fs/jffs2/build.c. Maybe those numbers can even be lowered a little. But you get to do the math, if that is your wish. Jörn -- Joern's library part 15: http://www.knosof.co.uk/cbook/accu06a.pdf ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: jffs2: too few erase blocks 2007-10-30 20:19 ` Jörn Engel @ 2007-10-30 21:42 ` Duke 0 siblings, 0 replies; 17+ messages in thread From: Duke @ 2007-10-30 21:42 UTC (permalink / raw) To: Jörn Engel; +Cc: linux-mtd, Josh Boyer, Jamie Lokier, David Woodhouse On 10/30/07, Jörn Engel <joern@logfs.org> wrote: > On Tue, 30 October 2007 15:08:11 -0500, Duke wrote: > > > > After all is said and done, can the minimum number of jffs2 blocks be > > determined? Or it varies from system to system? Or flash system type > > (NOR flash in my case). > > It can. Please read jffs2_calc_trigger_levels() in fs/jffs2/build.c. > Maybe those numbers can even be lowered a little. But you get to do the > math, if that is your wish. > Ok. From what I've calculated and tested I wouldn't be able to meet the minimum so I'm trying to use one big jffs2 partition and devide by dirs. The problem I'm having with this is not being able to untar files into a directory essentially overwriting the old files. This seem to be because untaring takes too much memory. Is there a better way to replace these directory files (which is about 200 files)? ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2007-10-30 21:42 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-10-25 14:06 jffs2: too few erase blocks Duke 2007-10-25 14:22 ` Josh Boyer 2007-10-25 22:15 ` Jamie Lokier 2007-10-26 17:00 ` Duke 2007-10-26 21:02 ` Duke 2007-10-28 18:02 ` Jamie Lokier 2007-10-29 2:59 ` David Woodhouse 2007-10-29 14:38 ` Jörn Engel 2007-10-29 20:51 ` Jamie Lokier 2007-10-29 21:40 ` David Woodhouse 2007-10-29 22:50 ` Jamie Lokier 2007-10-29 21:54 ` Jörn Engel 2007-10-29 22:46 ` Jamie Lokier 2007-10-30 16:09 ` Jörn Engel 2007-10-30 20:08 ` Duke 2007-10-30 20:19 ` Jörn Engel 2007-10-30 21:42 ` Duke
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox