[haiku-development] Re: Call for help: FAT file system module

  • From: Stephan Assmus <superstippi@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Thu, 14 Jan 2010 21:35:49 +0100

On 2010-01-14 at 21:14:11 [+0100], John Scipione <jscipione@xxxxxxxxx> 
wrote:
> On Jan 14, 2010, at 2:40 PM, Rene Gollent <anevilyak@xxxxxxxxx> wrote:
> 
> > On Thu, Jan 14, 2010 at 1:35 PM, John Scipione <jscipione@xxxxxxxxx> 
> > wrote:
> >> freebsd project to learn the gotchas first? I realize that the fs 
> >> modules on
> >> freebsd are all using a common set of Apis that all call the same 
> >> read()
> >> write() hooks from the various filesystem modules. The design of the 
> >> freebsd
> >> fs module has been well documented in "The Design and Implentation of 
> >> The
> >> FreeBSD Operating System" so imagine a lot of information about how 
> >> that
> >> operating system impliments its fs layer could be learned without 
> >> having to
> >> look at the source code. I do not know if Haiku used a similar 
> >> approach but
> >> it probably should. My guess is that Haiku is very BFS centric at this 
> >> point
> >
> > Haiku's VFS works exactly the same way, as does more or less every 
> > other modern OS. The point he was making is that the current FAT code 
> > we have is not the cleanest/most comprehensible and it might be 
> > easier/more efficient to start fresh than try to figure out all the 
> > issues in it.
> >
> > Regards,
> >
> > Rene
> 
> I am glad to hear that Haiku used a VFS layer similar to other modern 
> operating systems. This would not
> Have been my guess and really shows how much progress has already been 
> made. I still think it is a bad idea to throw out all of the fat fs work 
> that has already been done but since I haven't looked at the code I 
> cannot attest to it's merits. Still fat is special because it's API is 
> strange and in many case undocumented so my suggestion to find a decent 
> reference implentation and start from there either from the existing code 
> already present in haiku or from an existing source. One ofthe BSDs 
> probably would make the best choose due to the maturity and license of 
> the code.

I don't mean to be rude, but you are making suggestions based on what you 
"assume" about Haiku's code base. What you suggest about reading/using 
other FAT implementations, including the existing Haiku one is of course a 
good suggestion, but that's exactly what I said as well with my "pull code 
over" remark. ;-)

Also, you are confusing the FAT on-disk structures and how things are 
"supposed" to work and any "gotchas" in that with "grown code". Basically, 
these are two completely separate things and one doesn't necessarily have 
anything to do with the other. That's exactly why the Haiku FAT module is 
able to KDL Haiku.

Best regards,
-Stephan

Other related posts: