bbengfort / fluidfs

A highly consistent distributed filesystem built with FUSE
http://www.fluidfs.com
MIT License
1 stars 0 forks source link

FUSE Interaction #23

Closed bbengfort closed 7 years ago

bbengfort commented 7 years ago

Create the FUSE components to interact with the file system.

bbengfort commented 7 years ago

Mount Points:

My inspiration is currently from S3. In order to set up a store on S3, you have to create a bucket, and buckets have to be unique across the system. Each bucket is therefore the root, so you get paths as follows:

s3://mybucket/path/to/foo.txt

My current plan is as follows:

  1. Protect the global root directory, / -- only system files can be written there.
  2. Mounting a drive requires specifying a unique prefix (e.g. the bucket name) which by default is the user name; e.g. fluid://bengfort/path/to/foo.txt
  3. Specifying other prefixes is possible in an fstab-like format
  4. On a local machine, only one mount per prefix is allowed
  5. Data replication only occurs if the machine has mounted that prefix (there is complete version replication)
  6. Consistency decisions can be made on version info without mounting that directory so different user devices can participate in quorums.

This plan obviously has some flaws though: