Skip to content
This repository has been archived by the owner on Sep 6, 2022. It is now read-only.

Latest commit

 

History

History
36 lines (23 loc) · 1.43 KB

DESIGN.md

File metadata and controls

36 lines (23 loc) · 1.43 KB

Introduction Slack

This fuse driver allows MinIO bucket or any bucket on S3 compatible storage to be mounted as a local, as a prerequesite you need fusermount. This feature allows MinIO to serve a bucket over a minimal POSIX API.

Limitations

Read

For every operation the latest version will be retrieved from the server. For now we don't have a method of verifying if the file has been changed by the provider.

Write

When a dirty file has been closed, it will be uploaded to the bucket, when the file is completely uploaded it will be unlocked.

Locking

The locking mechanism is defensive and doesn't implement granular byte range locking from POSIX API, only one operation is allowed at a time per object. This trade-off is intention and kept to keep the fuse driver simpler.

FUSE options

Options

  • gid: The default gid to assign for files from storage.
  • uid: The default gid to assign for files from storage.
  • cache: Location for cache folder.
  • debug: Enables debug logs

Work in Progress.

  • Use MinIO notifications to actively update metadata.
  • One mountpoint per bucket.
  • Each mountpoint will have its own cache folders and can be mounted to one bucket.
  • Renaming directories will cause an error when directly accessing the newly moved folder.