Skip to content
/ LogFS Public
forked from piuma/limit-fs

A simple userspace filesystem that logs everything to a file. Made using C and LibFUSE high level API.

License

Notifications You must be signed in to change notification settings

Satharus/LogFS

 
 

Repository files navigation

LogFS

LogFS is a simple userspace filesystem that logs everything to a file. Made using C and LibFUSE high level API.

Features

  • List the contents of a directory (ls)
  • Change the working directory (cd)
  • Creating files and directories (touch and mkdir)
  • Editing files (nano or vim)
  • Deleting files and directories (rm and rmdir)
  • Logs everything to a file, and give the user the ability to:
    • View the logs.
    • Reset the logs.
    • Mount the filesystem with logging disabled.

To be added

  • Support for links.
  • Support for copying and moving(renaming).
  • Changing permissions.

Chart

LogFSDiagram

Compilation

  • Install libfuse3

    • You can install it from here
  • Clone this repo

    • git clone https://github.com/Satharus/LogFS
  • Run ./compile.sh

Testing

  • Make a new directory to test LogFS mkdir New

  • Run LogFS ./LogFS New

  • Change the working directory to the mount directory cd New

  • Test the filesystem like you'd use your usual filesystem from the CLI.

  • Check the logs ../LogFS --show-logs

  • Clear the logs ../LogFS --clear-logs

  • Leave the mounting point cd ..

  • unmount the filesystem fusermount3 -u New/

About

A simple userspace filesystem that logs everything to a file. Made using C and LibFUSE high level API.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 99.7%
  • Shell 0.3%