[haiku] Re: [GSoC idea] IMAP FS

  • From: Clemens <clemens.zeidler@xxxxxxxxxxxxxx>
  • To: haiku@xxxxxxxxxxxxx
  • Date: Wed, 30 Mar 2011 08:35:45 +1300

On Tue, 29 Mar 2011 00:52:29 +1300, Anshul Singhle <xashck@xxxxxxxxx> wrote:


Hi,
I'm Anshul Singhle, a sophomore undergraduate student at Indian Institute
of Technology, Kharagpur. I'm interested in  taking a project from your
organization for GSoC. As described by your Ideas page, the project would
allow users to mount their IMAP accounts as a Filesystem .
I have developed filesystems using FUSE in the past. I very recently
developed a FUSE-based versioning filesystem with COW(Copy-on-Write )
functionality. The Filesystem was basically a wrapper on Git with some
tweaking to allow versioning of individual files instead of directories. I had a look at userlandFS and default I was thinking of implementing the IMAP
filesystem using userlandFS. Do you think that is wise? I  could not find
much documentation on userlandFS so if someone could help, that'd be great.
I'm currently going through the book on filesystem design by Dominic
Giampaolo . I have an inkling that the userlandFS implementation would be a
preliminary step and eventually i would have to write a kernel level
implementation.

Comments and feedback wou;d be greatly appreciated

Thanks,
Anshul

Hi Anshul,

very cool that you are interested in this project!

I recently wrote the imap implementation for the Haiku mail client. This lib should be easy to reuse and I certainly can help you there.

I also think that using userlandFS in the first place is the way to go. For the IMAP FS you need a kind of cache for the already downloaded mails. These mail should also be accessible if you not connected to the server. Furthermore, it is a requirement that theses mails have fs attributes and that you can query them. Luckily, there is already a BeFS RAM FS that maybe could be reused to do this kind of stuff. What's missing is to store the cache persistently and put everything together...

You ask for some bugs you can work on, Stippi mentions that there are some issues with userlandFS but I'm don't know exactly what's missing in detail. Maybe you can setup a userlandFS environment and look what's missing to integrate it better into the OS. For example, to use it in tracker (right click on the desktop -> mount).

What also could be interesting would be a simple port of a fuse network FS, e.g. FTP which hopefully has not many dependencies. This should give you an overview of the Haiku build system and maybe reveal some bugs in the userlandFS/fuse implementation.

Please ask if you need more info! When I wrote the IMAP lib we agreed that an IMAP FS would be the cleaner solution so I'm looking forward to hear from you :-)

cheers,
        Clemens

Other related posts: