[haiku-development] Re: gsoc2010: File systems

  • From: Janito Ferreira Filho <jvffprog@xxxxxxxxxxx>
  • To: Haiku Development <haiku-development@xxxxxxxxxxxxx>
  • Date: Thu, 25 Mar 2010 20:06:47 +0000






> axeld@xxxxxxxxxxxxxxxx wrote:
> 
> I wouldn't bother with ext2 only write support - if you introduce 
> logging as an afterthought, it has some unwanted effects (like the 
> possibility to having to rewrite write support). Plus, logging can 
> simplify implementing write support tremendously, as you don't have to 
> care that much for the error case (the transaction API will take care 
> of that for you mostly).

Hi,

I'm not yet fully familiar with how journaling is implemented, but if I 
understood it correctly, I'll have to create a transaction API for handling the 
write operations. The API would then (for ext2) be able to support a "no 
journaling" option, which will bypass the journal writing operations and just 
use the defined write method (meta data or data first). Am I on the right path?
 
> Just be aware that the file cache (and its API) currently does not 
> support transactions; this is something that still needs to be 
> implemented. Possibly by unifying the block and the file cache, and 
> solving transactions using Copy-On-Write of the underlying VM.
 
Then the problem would be interacting with the File Cache (and not the Block 
Cache, as apparently the Block Cache has transaction support), so that the 
transactions for file access can be correctly generated and written. I haven't 
read anything about how the respective caches work. Am I correct to assume that 
the File Cache interacts directly with the Block Cache? Would it be a big job 
to add transaction support to the File Cache? 

Also, I didn't understand the unification of the caches. Could you explain a 
little more?

> It looks like a good project to me. You can work with the mentors to 
> refine your initial application during the application period - while 
> it should be well founded, it doesn't have to be perfect either, and 
> can be adapted until the end.

Thanks for your help =). I'm trying to understand as much as I can before I 
start writing the application. Please forgive if I ask any irrelevant questions 
or make any wrong assumptions. Still, I am very excited to work on such project!
 
> BTW please always remove unnecessary parts of the conversation.

Okay. Sorry. Did I get it right this time? Please help me learn the appropriate 
mailing-list etiquette. 

Thanks again,

Janito

PS: BTW, I'm currently using as references the chapter on ext2/3 on 
"Understanding the Linux Kernel, 2nd ed.", and "UNIX Filesystems - Evolution, 
Design and Implementation". Any comments or other recommendations?
                                          
_________________________________________________________________
Hotmail: Trusted email with Microsoft’s powerful SPAM protection.
https://signup.live.com/signup.aspx?id=60969

Other related posts: