Skip to content

BlobIt filesystem #10

@eolivelli

Description

@eolivelli

We can create a layer over BlobIt in order to create a virtual file system, with these features:

  • a FS-tree-like structure (introduce the concept of "directory")
    -- directory listing
    -- create directory
    -- remove directory
  • information about file size, disk size (virtual and real), possibly per directory (without needing a full scan)
  • fileExists
  • getFileInfo (type, size, lastmodification)
  • setLastModified
  • renameFile into same directory
  • renameFile into other directory (move)
  • delete file
  • read file (partial reads, offset+length)
  • overwrite file
  • truncate file to length (pre-allocate??)
  • write a file (full write of the whole blob)
  • streaming write without knowing the length in advance (not yet supported by BlobIt)
  • streaming write in "append mode" of a byte[] (something like 'concat', not yet supported by BlobIt)
    -- streaming write in "append mode" without knowing the length in advance (not yet supported by BlobIt)

We expect that one Filesystem resides on a single Bucket.
We can add one or more metadata tables in order to store directory metadata, this will ease lookups and queries

No need for ACLs, file locks or other POSIX features

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions