[haiku-development] Re: GSOC: IMAP as a Local File System

Ingo Weinhold wrote:

Mmh, not sure which shortcut combo I managed to press, it definitely sent the 
mail prematurely. :-/

> anil kag wrote:
> > in order to contribute to the Haiku project (which may be mandatory for the
> > GSOC'12), i have decided to go for the TODO tasks...
> > 1) About the TODO tasks:
> >  I am working over two tasks...
> >  a) // TODO: The parameters are in driver settings format now. in "
> > http://haiku.it.su.se:8180/source/xref/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/kernel_interface.cpp
> > "
> > i want to know what exactly is required... parameters in the mount function
> > are in driver settings format now, are they?? If they are, then into what
> > format should they be converted??
> 
> As you can see, the parse_parameters() function expects the parameters to 
> consist of the client FS name separated by whitespace from the following 
> (optional) client FS parameters. This is not driver settings format [1] 
> (note: Haiku extends the original format). That the driver settings format is 
> used for mount parameters is merely a convention we introduced. BeOS didn't 
> and ATM Haiku doesn't care: the string supplied to the mount command is just 
> passed through to the FS module. Eventually we might change that e.g. to 
> allow passing parameters that the VFS interprets (currently there's only a 
> flags array that can be used for that purpose in a limited way). That, 
> however, requires all file systems to respect the format.
> 
> ATM solving that TODO in the userlandfs kernel module would add a bit of 
> inconvenience, though. Since you'd have to mount via something like:
>  
>   mount -t userlandfs -p "userlandfsClient=<clientFS> ..." ...
> 
> instead of just



> > b) // TODO: this does not take read-only volumes into account! in "
> > http://haiku.it.su.se:8180/source/xref/src/add-ons/kernel/file_systems/ntfs/fs_func.c
> > "
> > here it says this does not take read-only volumes into account.... i mean
> > what does it want to convey...
> > call sequence is something like this...
> >  fs_mount(...,...flags,.....) --> utils_mount_volume(...,flags,...) -->
> > ntfs_mount(..,flags) --> ntfs_device_mount(..,flags) -->
> > ntfs_volume_startup(..,flags)
> > in the last call it does something like
> > --> if (flags & MS_RDONLY)
> > NVolSetReadOnly(vol) ; ... setting the device read only... am i right?? can
> > anyone tell me what is required in this todo??
> > 
> > about the submission of the proposal
> > Mounting the an IMAP as a local file system
> > 2) well let me describe the tasks need to be done... (if i'm missing
> > something please point me out... so that i can decide on "what next??")
> > Basic requirements for the problem- -->
> > 
> >  a) A module which looks into the task of connection between IMAP server
> > and the local machine, which can be divided into
> >  i) login into the mail server
> >  ii) fetching the mails from there
> >  iii) arranging them in proper order so as to keep the directory
> > structure...
> >  iv) updating the changes made in the local machine so as to reflect in the
> > server....
> > --> will also have to look into multiple access to the same account from
> > different places(is it possible??)
> > --> these seems like the tasks of Mail client of haiku :) , do they??
> > 
> > b) a kernel interface as described in the "
> > http://api.haiku-os.org/fs_modules.html"; for implementing the userland
> > implementation of the file system --> this will provide the necessary hooks
> > for accessing & using the file system. (main module)
> > 
> > --> things which are in my mind currently but i'm not upto the mark to give
> > a solution
> > a) about the local caching in order to increase the performance....
> > b) as i need to access an IMAP account i was thinking of using the haiku's
> > home grown code for working with IMAP, and as pointed by someone on IRC..
> > that it has some problems (some mails are lost while fetching..) ---> can i
> > use it or use something else(any other library for IMAP access). I can look
> > into fixing haiku's code for IMAP access.
> > 
> > that's all i have in mind for "IMAP as local file system". I might have
> > sound a bit promising in accomplishing the tasks or i have written much to
> > implement(i'm a newbie to Kernel & networks world... but not to Software
> > Engineering World...)
> > please do have a look on it.. :)
> > i'm not able to decide the timeline... or rather i would say ... within 1-2
> > days i'll be able to give a rough estimate of how i'll be achieving this
> > target.
> > 
> > 3) one more problem is there
> > i am not having a configured git account (i have downloaded the source code
> > from the http//github.com/haiku/haiku.git repository), is there any way of
> > submitting patches to the TODO tasks(if i'm able to crack them)??
> > 
> > 4) as it will not always good to mail to the mailing list, is there any
> > person who can help me out in this Idea?? i would be very thankful for the
> > help ..
> > 
> >  and last
> > 5) I will be trying to submit the proposal till Monday evening(as before
> > that code submission is required), will that be fine??
> > 
> > thanks for reading it...
> > --- Anil Kag (IRC Nick --> kag_anil)
> > B.Tech, 2nd year
> > IIT Guwahati, India
> 
> 
> 
> [1] 
> http://www.haiku-os.org/legacy-docs/bebook/DeviceDrivers_DriverSettingsAPI.html


Other related posts: