Fork us on GitHub Follow us on Facebook Follow us on Twitter

Opened 10 years ago

Closed 8 years ago

#207 closed enhancement (fixed)

Introduce fault spaces to VFS

Reported by: Jakub Jermář Owned by:
Priority: major Milestone: 0.5.0
Component: helenos/srv/vfs Version: mainline
Keywords: Cc:
Blocker for: Depends on:
See also:

Description

Currently the design of VFS and the endpoint file system servers and libraries makes it impossible to have multiple instances of the same file system type / name handled by multiple instances of the same file system server. In other words, if there are multiple instances of the same file system type, they are all handled by one server process. In some situations, such as when increased robustness is desired, it may be a good idea to allow the file system server per file system instance model.

This ticket suggest a mechanism which would support both use cases.

An interesting observation here is that if an endpoint file system server was able register itself under distinct names, such as:

# fat -name fat
# fat -name fat2

the user would be able to specify, which instance to use during mount:

# mount fat /fat bd/disk0
# mount fat /fat1 bd/disk1
# mount fat2 /fat2 bd/disk2

Then /fat and /fat1 mountpoints would be served by the same FAT server process and /fat2 would have its own dedicated one.

Perhaps a slightly different mechanism to distinguish two server instances of the same file system type could be used, something like:

# fat
# fat -fault-space 1

Here two copies of the "fat" file system server would be spawned. The first will run in the default (i.e. 0 fault space), while the other, even though still known as "fat" will run in fault space 1.

This is how the two instances would be told apart during mount:

# mount fat /fat bd/disk0
# mount -fault-space 1 fat /fat1 bd/disk0

Change History (2)

comment:1 Changed 9 years ago by Jakub Jermář

Milestone: 0.5.00.5.1

comment:2 Changed 8 years ago by Jakub Jermář

Resolution: fixed
Status: newclosed

Fixed in mainline,1239 by introducing file system instances.

Note: See TracTickets for help on using tickets.