Skip to content

RohitMazumder/LittleFS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LittleFS

Deduplication based filesystem using FUSE

About

Data deduplication is a technique for eliminating duplicate copies of repeating data, by storing a copy of the repeated block only once (Read more: Data Deplication). This project aims to create a data-duplication based filesystem with the aid of the FUSE interface.
We partition the file into fixed sized blocks and store the hash computed using SHA-256 in a sqlite database.
No hash collision has been handled, as chances are of a collision occuring is negligible (Read more: Birthday attack).
NOTE: This project is solely for educational purposes.

Dependencies:

Syntax

LittleFS.py [-h] [-bs BLOCK_SIZE] [-db DATABASE_FILE] root mount

positional arguments:
  root                  root directory
  mount                 directory to be mounted as the LittleFS

optional arguments:
  -h, --help            show this help message and exit
  -bs BLOCK_SIZE, --block_size BLOCK_SIZE
                        Block size for deduplication check. NOTE that this
                        cannot changed once the filesystem is initialised for
                        the first time
  -db DATABASE_FILE, --database_file DATABASE_FILE

Sample Usage:

$ mkdir rootdir/
$ mkdir mountdir/
$ python3 LittleFS.py rootdir/ mountdir/

About

Deduplication based filesystem using FUSE

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages