sqlitefs

1.1.5 • Public • Published

Build Status Coverage Status Version License Code style Available platform Available platform

Motivation

sqlfs is a POSIX compliant inode table to be used as fuse binding engine. Inode table is store in a very simple sqlite file.

sqlfs is the underlying inode table that support the cloudfs project.

Main features

  • Simple by design
  • Available on all platforms (linux & Windows)
  • Very fast (sqlite is actually fastest than most file system)
  • Strongly tested
  • sqlfs load the whole inode table in memory and use about 1k per file of inode data. So having 100k file will use at least 100MB of memory.

Supported API

sqlfs support most of the fuse API (appart for file body access - open, release, read, write - see cloudfs for this part)

  • gettattr
  • mkdir
  • readdir
  • rename
  • rmdir
  • statfs
  • unlink
  • utimens
  • create

Helpers

  • touch
  • mkdirp
  • rmrf

inode table design

file_uid file_name parent_uid file_mode file_size block_hash file_ctime file_mtime
(someguid) usr (someotherguid) S_IFDIR | 0o777 0 null 1560000505 1560000505
(someguid) "foo" (someotherguid) S_IFREG | 0o666 2323 (file md5) 1560000505 1560000505

Credits

Readme

Keywords

Package Sidebar

Install

npm i sqlitefs

Weekly Downloads

9

Version

1.1.5

License

MIT

Unpacked Size

22.4 kB

Total Files

7

Last publish

Collaborators

  • 131
  • frodon