Skip to content

nosway/sfs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SFS (simple file system for Linux)

The file system "sfs" is helpful to understand Linux VFS and file system basics.
The source code of sfs was written by referring to
aufs (https://github.com/krinkinmu/aufs), ext2 and minix file systems.

This code was written and tested for Linux kernel 3.15 or before.

On-disk file system layout

  • Super Block
  • Block Allocation Bitmap
  • Inode Allocation Bitmap
  • Inode List
  • Data Blocks (including root directory

All on-disk metadata numbers are in little-endian order.

Current features

  • Basic file and directory operations
  • Max. length of filename = 60 bytes
  • The maximum file system size = 16TB
  • No extended attribute support

How to build kernel module

$ cd kernel
$ make

How to build mkfs.sfs

$ cd tools
$ make

How to test

$ cd test
$ ./prepare_vdisk.sh
$ ./load_and_mount.sh
$ ./umount_and_unload.sh

About

Simple file system for Linux

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages