Login
Username:

Password:

Remember me



Lost Password?

Register now!
Main Menu
Who is Online
10 user(s) are online (7 user(s) are browsing Forum)

Members: 0
Guests: 10

more...


Browsing this Thread:   1 Anonymous Users




« 1 ... 4 5 6 (7)


Re: FUSE Filesystems
#4
Home away from home
Home away from home


See User information
@Rob

You think the system is ready so far for being worth to set up a bounty for it? If yes I would like to do so.

Posted on: 2007/5/16 8:00
 Top  Twitter  Facebook  Google Plus  Linkedin  Del.icio.us  Digg  Reddit  Mr. Wong 


Re: FUSE Filesystems
#3
Home away from home
Home away from home


See User information
Here's a first cut. The "possible implementation" is not actually a requirement of the bounty (it could be done some other way), but is something to get the lucky recipient started.

I'm still attached to this one. It will actually be a fun little project, and I hope I get time to do it, bounty or no.

Do with this what you will :)



Short:

Implement the FUSE API, such that FUSE-based filesystem handlers can be used.


Deliverables:

1. Ability to compile and run FUSE-based filesystems with no or minimal changes to the filesystem code.
2. A working port of the NTFS-3G filesystem.


Notes:

"Minimal changes" means things like adding AROS-specific startup code, modifications to use Exec I/O devices or AROSTCP, endian fixes, and/or replacing UNIX calls with AROS ones. The overall structure of the handler should not have to change.

The FUSE 2.6 API must be supported, as well as earlier versions if possible.

It must be possible to mount a FUSE filesystem via a Mountlist or DEVS:DOSDrivers entry, preferably without any special FUSE-specific arguments. That is, an entry like this should work:

NTFS:
FileSystem = ntfs.handler
Device = fdsk.device
Unit = 0
#

This however is at odds we the "official" way to mount FUSE filesystems by simply running them. It should be possible, but is not necessary, to implement both.


Possible implementation:

The "main" entry point in the handler's (AROS-specific) boot code is a library entry point. AddDosNode() in expansion.library (called from C:Mount) will have arranged for a DOS device node to be created, and will then call this entry point. An AROS-specific fuse.library call could take care of all the setup details, and would be the first thing called by the handler.

To support the FUSE method of simple running the filesystem, a trivial main() that simply calls AddDosNode() and exits is all thats necessary. expansion.library would start a new copy of the handler and proceed as above.

The call to fuse_mount() would then call AddDosEntry in dos.library to add the volume entry. It would then create a AROS handler (either a packet process or a IOFS device).

When a filesystem request comes in from DOS, it will end up in the handler's request function somewhere inside fuse.library. It will then take the request, translate its arguments and call the appropriate FUSE filesystem function to do the work.

Posted on: 2007/3/15 4:38
 Top  Twitter  Facebook  Google Plus  Linkedin  Del.icio.us  Digg  Reddit  Mr. Wong 


Anonymous
Re: FUSE Filesystems
#2

 Top  Twitter  Facebook  Google Plus  Linkedin  Del.icio.us  Digg  Reddit  Mr. Wong 


FUSE Filesystems
#1
Home away from home
Home away from home


See User information
Hey Rob, as the one with having a good overview of the topic, could you please define a bounty requirement description for a fuse.handler?

Posted on: 2007/3/13 10:48
 Top  Twitter  Facebook  Google Plus  Linkedin  Del.icio.us  Digg  Reddit  Mr. Wong 




« 1 ... 4 5 6 (7)



You can view topic.
You cannot start a new topic.
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[Advanced Search]


Search
Top Posters
1 paolone
paolone
4462
2 nikolaos
nikolaos
4206
3 magorium
magorium
4095
4 phoenixkonsole
phoenixkonsole
3942
5 deadwood
deadwood
2917
6 ncafferkey
ncafferkey
2810
7 mazze
mazze
2222
8 Kalamatee
Kalamatee
2212
9 clusteruk
clusteruk
2114
Powered by XOOPS © 2001-2025 The XOOPS Project