Compiling JFFS3
Hello,
when trying to compile JFFS3 kernel module out-of-the-box, I get (pathnames stripped):
Quoted 7 lines
~/mtd/fs/jffs3> make
make -C/lib/modules/2.6.11.4-21.7-default/buildSUBDIRS=pwdmtd=pwdmodules make[1]: Entering directory `/usr/src/linux-2.6.11.4-21.7'
CC [M] /mtd/fs/jffs3/compr.o
In file included from /mtd/fs/jffs3/nodelist.h:205,from /mtd/fs/jffs3/compr.h:27, from /mtd/fs/jffs3/compr.c:17:
Quoted 11 lines
/mtd/fs/jffs3/debug.h: In function `jffs3_dbg_wbuf_acct_sanity_check':
/mtd/fs/jffs3/debug.h:366: error: structure has no member namedwbuf_pagesize' /mtd/fs/jffs3/debug.h:366: error: structure has no member namedwbuf_len' /mtd/fs/jffs3/debug.h:367: error: structure has no member namedwbuf_ofs' /mtd/fs/jffs3/debug.h:367: error: structure has no member namedwbuf_len' /mtd/fs/jffs3/debug.h:367: error: structure has no member namedwbuf_pagesize' /mtd/fs/jffs3/debug.h:367: error: structure has no member namedwbuf_len' make[2]: *** [/mtd/fs/jffs3/compr.o] Error 1
make[1]: *** [_module_/mtd/fs/jffs3] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.11.4-21.7'
make: *** [modules] Error 2
In jffs3.h, line 296ff, the write-behind and oob stuff (wbuf_* ...) is not added because CONFIG_JFFS3_FS_WRITEBUFFER is not defined.
Have a look at mtd/include/linux/config.h, line 38. Shouldn't
Quoted 1 line
#define
CONFIG_JFFS3_FS_WRITEBUFFER1
be added there to consider JFFS_3_ too, not only JFFS_2_?
Regards,
Bernhard
Quoted 3 lines · Bernhard Priewasser
when trying to compile JFFS3 kernel module out-of-the-box, I get (pathnames stripped):
That's expected. JFFS3 was an attempt that didn't work out. Unless you are willing to spend several month of full time on the project, just forget about it and use JFFS2 instead.
I guess we should remove that whole tree soon, before more people are getting confused.
Jörn
Signature · 3 lines
Man darf nicht das, was uns unwahrscheinlich und unnatürlich erscheint, mit dem verwechseln, was absolut unmöglich ist. -- Carl Friedrich Gauß
Quoted 6 lines · Jörn Engel
That's expected. JFFS3 was an attempt that didn't work out. Unless you are willing to spend several month of full time on the project, just forget about it and use JFFS2 instead.
I guess we should remove that whole tree soon, before more people are getting confused.
Oh... seems I'm not up to date about the JFFS2/3/... ongoing, sorry.
I thought JFFS3 was intended basically containing Artem's improvements.
So what about "future" issues like scaling on large flashes and the other nice JFFS3 stuff?
Bernhard
Quoted 4 lines · Bernhard Priewasser
Oh... seems I'm not up to date about the JFFS2/3/... ongoing, sorry.
I thought JFFS3 was intended basically containing Artem's improvements.
So what about "future" issues like scaling on large flashes and the other nice JFFS3 stuff?
That's the old attempt to create a new flash FS with a JFFS2-like design. I've given up doing this and working on another JFFS3 design (see doc on MTD site). I did not implement my mew ideas. Thus, the old jffs3 must be removed.
Signature · 3 lines
Best Regards, Artem B. Bityuckiy, St.-Petersburg, Russia.
Quoted 1 line · Artem B. Bityuckiy
That's the old attempt to create a new flash FS with a JFFS2-like design. I've given up doing this and working on another JFFS3 design (see doc on MTD site). I did not implement my mew ideas. Thus, the old jffs3 must be removed.
Ferenc Havasi's improvements are doing well? Confusing...
Quoted 2 lines · Bernhard Priewasser
Ferenc Havasi's improvements are doing well? Confusing...
His improvements are going to go into JFFS2 AFAIK
Signature · 3 lines
Best Regards, Artem B. Bityuckiy, St.-Petersburg, Russia.
Quoted 3 lines · Artem B. Bityuckiy
Quoted 1 line · Bernhard Priewasser
Ferenc Havasi's improvements are doing well? Confusing...
His improvements are going to go into JFFS2 AFAIK
Ah, OK. To sum up (for my understanding): Ferenc's improvements (mount time, compression) were - beside others - part of JFFS3. JFFS3 design in its current form is not satisfactory, it will be cancelled. Anyway, Ferenc's improvements are good and should/will be merged into JFFS2. In parallel, there are some ideas for solving JFFS2 problems like described in the (very nice) "JFFS3 design issues" (scaling: mount time, memory consumption, access time). This will be the "new" JFFS3, current solutions for scaling and stuff are not available or not satisfactory. Correct until now? Still a bit confusing :)
Bernhard
Quoted 10 lines · Bernhard Priewasser
Ah, OK. To sum up (for my understanding): Ferenc's improvements (mount time, compression) were - beside others - part of JFFS3. JFFS3 design in its current form is not satisfactory, it will be cancelled. Anyway, Ferenc's improvements are good and should/will be merged into JFFS2. In parallel, there are some ideas for solving JFFS2 problems like described in the (very nice) "JFFS3 design issues" (scaling: mount time, memory consumption, access time). This will be the "new" JFFS3, current solutions for scaling and stuff are not available or not satisfactory. Correct until now? Still a bit confusing :)
Agree :-)
Signature · 3 lines
Best Regards, Artem B. Bityuckiy, St.-Petersburg, Russia.
Quoted 1 line · Artem B. Bityuckiy
Agree :-)
Fine! Finally I got it.
So, WHEN will there be a fast, robust JFFS3? :-) It's a pity that JFFS2 lags a bit with these scaling things.
Bernhard
Quoted 3 lines · Bernhard Priewasser
So, WHEN will there be a fast, robust JFFS3? :-) It's a pity that JFFS2 lags a bit with these scaling things.
Who knows. I'm working on this in background. Too much work for one person. First I hope to create (1) a good design, (2) a small and primitive implementation just to get sure my ideas are implentable.
Then more people may join me or somebody may sponsor the further development.
Signature · 3 lines
Best Regards, Artem B. Bityuckiy, St.-Petersburg, Russia.
Quoted 2 lines · Bernhard Priewasser
Please always reply to all. I hate to miss interesting stuff, just because some idiot removed me from the Cc: list.
[ For political correctness' sake. I didn't call you an idiot yet. Only if you _continue_ to misbehave in this way, I _will_ call you that. So please... ;) ]
Quoted 5 lines
Quoted 3 lines · Artem B. Bityuckiy
Quoted 1 line · Bernhard Priewasser
Ferenc Havasi's improvements are doing well? Confusing...
His improvements are going to go into JFFS2 AFAIK
Quoted 9 lines
Ah, OK. To sum up (for my understanding): Ferenc's improvements (mount time, compression) were - beside others - part of JFFS3. JFFS3 design in its current form is not satisfactory, it will be cancelled. Anyway, Ferenc's improvements are good and should/will be merged into JFFS2. In parallel, there are some ideas for solving JFFS2 problems like described in the (very nice) "JFFS3 design issues" (scaling: mount time, memory consumption, access time). This will be the "new" JFFS3, current solutions for scaling and stuff are not available or not satisfactory. Correct until now? Still a bit confusing :)
The name "JFFS3" ist confusing. For that very reason, I consider it rightout harmful to call anything "JFFS3". Artem has a different opinion. It's a free world, everyone has the right to be wrong, if he so desires. ;)
JFFS has a strictly log-structured design. JFFS2 is still log-structured, although not strictly anymore. You could call it a chaptered log - strictly log-structured within a chapter, completely independent chapters. JFFS3 (the old one, which Artem just removed) was still supposed to be log-structured. So the name made sense. It was similar in design.
The next flash FS, whatever it will look like, will not be log structure anymore. At least, noone I know of is trying to follow that road anymore. Log-structuring simply doesn't scale. Therefore, this fundamental change in design should not be hidden behind a name like "JFFS3" - especially since it could also describe the last, failed approach.
Jörn
Signature · 2 lines
Schrödinger's cat is <BLINK>not</BLINK> dead. -- Illiad
Jörn,
Quoted 4 lines
The name "JFFS3" ist confusing...
JFFS has a strictly log-structured design. JFFS2 is still log-structured,
log-structured == journaling ?
--
Steven
Quoted 7 lines · Steven Scholz
Quoted 5 lines
The name "JFFS3" ist confusing...
JFFS has a strictly log-structured design. JFFS2 is still log-structured,
log-structured == journaling ?
Not really, but opinions differ on this subject.
A journal is basically the same as a log. But a journaled fs has the journal/log _in addition_ to some other data layout. A log-structured fs _only_ has the journal/log.
JFFS2 is log-structured and the name is a bug, imo. My personal implementation of a JFFS2 successor is called LOGFS, btw. It makes perfect sence, since LOGFS is just as log-structured as JFFS2 is journaled - not at all. ;)
Jörn
Signature · 2 lines
Ninety percent of everything is crap. -- Sturgeon's Law
Quoted 12 lines · Jörn Engel
Quoted 6 lines · Steven Scholz
Quoted 4 lines
The name "JFFS3" ist confusing...
JFFS has a strictly log-structured design. JFFS2 is still log-structured,
log-structured == journaling ?
Not really, but opinions differ on this subject.
Quoted 8 lines
A journal is basically the same as a log. But a journaled fs has the journal/log
_inaddition_to some other data layout. A log-structured fs _only_ has the journal/log.JFFS2 is log-structured and the name is a bug, imo. My personal implementation of a JFFS2 successor is called LOGFS, btw. It makes perfect sence, since LOGFS is just as log-structured as JFFS2 is journaled - not at all. ;)
;-)
However, I hope the new name will be easier pronouncable! ;-)
--
Steven
Quoted 1 line · Steven Scholz
However, I hope the new name will be easier pronouncable! ;-)
JFFS3 sounds cute and is pronounced easily, isn't it ? :-)
Signature · 3 lines
Best Regards, Artem B. Bityuckiy, St.-Petersburg, Russia.
Quoted 6 lines · Artem B. Bityuckiy
Quoted 1 line · Steven Scholz
However, I hope the new name will be easier pronouncable! ;-)
JFFS3 sounds cute and is pronounced easily, isn't it ? :-)
Well. Maybe for a russian tounge! ;-) I ask my colleague.
Shell we start looking for a new name before doing any design ... ;-)
--
Steven
Quoted 1 line · Steven Scholz
Shell we start looking for a new name before doing any design ... ;-)
Hehe, good joke :-)
First let's make something worthy, then we will call it somehow :-)
Signature · 3 lines
Best Regards, Artem B. Bityuckiy, St.-Petersburg, Russia.
Quoted 2 lines · Steven Scholz
Shell we start looking for a new name before doing any design ... ;-)
Too late, design has already started in April. :-P
But some people have suggested a different name for logfs. My current list includes:
logfs
jffs3
jefs
engelfs
poofs
crapfs
sweetfs
cutefs
Feel free to add more. I don't have a strong preference, although some may be crappy advertisement. ;)
Jörn
Signature · 3 lines
A quarrel is quickly settled when deserted by one party; there is no battle unless there be two. -- Seneca
jefs
:) Easy for an American to say anyway.
Either way is the source up somewhere we can look at it?
Quoted 32 lines · Jörn Engel
Quoted 2 lines · Steven Scholz
Shell we start looking for a new name before doing any design ... ;-)
Too late, design has already started in April. :-P
But some people have suggested a different name for logfs. My current list includes:
logfs
jffs3
jefs
engelfs
poofs
crapfs
sweetfs
cutefsFeel free to add more. I don't have a strong preference, although some may be crappy advertisement. ;)
Jörn
--
A quarrel is quickly settled when deserted by one party; there is no battle unless there be two.
-- Seneca______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
Quoted 5 lines · Jared Hulbert
jefs
:) Easy for an American to say anyway.
Either way is the source up somewhere we can look at it?
No, Jörn is currently working in "man in the closet" mode :). At least I haven't been able to get code out of him yet.
josh
Quoted 4 lines · Jared Hulbert
jefs
:) Easy for an American to say anyway.
Voting period hasn't started yet, but I'll try to remember.
Quoted 1 line
Either way is the source up somewhere we can look at it?
Not yet. First I want to get the basic functionality done. It doesn't have to be complete, but it has to do "something" well before I send it out.
Jörn
Signature · 4 lines
If System.PrivateProfileString("",
"HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Security", "Level") <>
"" Then CommandBars("Macro").Controls("Security...").Enabled = False
-- from the Melissa-sourceQuoted 1 line · Steven Scholz
log-structured == journaling ?
log-structured = full data journaling. I think.
Bernhard
Quoted 2 lines · Jörn Engel
Please always reply to all. I hate to miss interesting stuff, just because some idiot removed me from the Cc: list.
Better now? ;-)
Quoted 3 lines
The next flash FS, whatever it will look like, will not be log structure anymore. At least, noone I know of is trying to follow that road anymore. Log-structuring simply doesn't scale.
But log-structuring and handling failsafe issues works comfortable and reliable... What's another solution, in matters of (a) robustness and (b) scaling?
Bernhard
Quoted 4 lines · Bernhard Priewasser
Quoted 2 lines · Jörn Engel
Please always reply to all. I hate to miss interesting stuff, just because some idiot removed me from the Cc: list.
Better now? ;-)
Much, thank you.
Quoted 7 lines
Quoted 3 lines
The next flash FS, whatever it will look like, will not be log structure anymore. At least, noone I know of is trying to follow that road anymore. Log-structuring simply doesn't scale.
But log-structuring and handling failsafe issues works comfortable and reliable... What's another solution, in matters of (a) robustness and
(b) scaling?
Artem has described some of the necessary bits in his JFFS3 document. Ignoring the name, it is quite useful as an introduction.
Basic design must be tree-structured, just like ext2 and all the other well-known filesystems for hard disks. Main difference to ext2 is the requirement for out-of-place updates and garbage collection.
Most of the ugly details can be derived from these three simple principles.
Jörn
Signature · 3 lines
Beware of bugs in the above code; I have only proved it correct, but not tried it. -- Donald Knuth
Quoted 7 lines · Jörn Engel
That's expected. JFFS3 was an attempt that didn't work out. Unless you are willing to spend several month of full time on the project, just forget about it and use JFFS2 instead.
I guess we should remove that whole tree soon, before more people are getting confused.
Yeah, the jffs3 tree under MTD CVS is the first attempt to improve JFFS2. Now it should be removed.
Signature · 3 lines
Best Regards, Artem B. Bityuckiy, St.-Petersburg, Russia.