[haiku] Re: [GSsC] usermode Haiku or file system development

  • From: Lucian Adrian Grijincu <lucian.grijincu@xxxxxxxxx>
  • To: haiku@xxxxxxxxxxxxx
  • Date: Wed, 7 Apr 2010 17:24:11 +0300

On Wed, Apr 7, 2010 at 4:00 PM, Clemens Zeidler
<clemens.zeidler@xxxxxxxxxxxxxx> wrote:
> Am 07.04.2010, 16:21 Uhr, schrieb PulkoMandy <pulkomandy@xxxxxxxxx>:
>
>> Sure, I think LKL is a way to get working fs support as a temporary
>> solution and I'd definitely use it. But on the other hand, it's only
>
> Yes setup a LKL would be one think, but I'm not sure how it can be
> integrated into haiku? E.g. what have to be done to mount a filesystem using
> the LKL? using a haiku wrapper filesystem? Lucian could you please explain
> this a little bit more?


There are three steps needed:

1) Implement a Haiku environment for LKL -- make LKL compile and use
primitives exposed by the Haiku kernel for synchronization, threading,
timers, etc.

2) Implement a Linux block device driver mapped to a Haiku device --
Linux only know how to work with Linux drivers, we need translate
requests and responses from Linux drivers into requests and responses
for Haiku drivers.

3) Add lkl-haiku-fs, a generic file system, in add-ons/kernel/file_systems

The first two goals just set up the LKL environment to be able to run
and communicate with the disk driver. Understanding the internal logic
of the file system is done inside LKL being as bug-free as on a
regular Linux box: we share bugs and features alike. But to be able to
call the LKL implementations we must route all file system calls from
the Haiku kernel to functions exported by LKL VFS and convert results
back. This is a non-trivial task as I have seen while implementing the
Windows file system driver (LKLVFS), but it's very very much simpler
than having to re-implement the core ext234, etc. functionality again.


After this there would be nothing specific to LKL: it will work as
ext2, fat, ntfs support works now in Haiku.



> From some of the previous GSsC project I miss that the result is not really
> visible because it is not integrated into haiku, and I think this could also
> be a problem with LKL.


I'm not sure I understood you correctly.
The end result would be instant support for a myriad of file systems.
The end result would be as integrated as the other Haiku file system drivers.

-- 
 .
..: Lucian

Other related posts: