Skip to content

Latest commit

 

History

History
56 lines (40 loc) · 1.33 KB

README.md

File metadata and controls

56 lines (40 loc) · 1.33 KB

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/