Skip to content

Latest commit

 

History

History
61 lines (47 loc) · 2.07 KB

Readme.md

File metadata and controls

61 lines (47 loc) · 2.07 KB

ext2s-fs

https://github.com/Delta-in-hub/ext2s-fs

EXT2-Simplified File System Implementation (ext2s-fs). Cross-platform , based on C++14. Support multiple users(clients). The struct definition is same to the real ext2 specification. Works for Block-Size = 1024Byte.

Build

> git clone https://github.com/Delta-in-hub/ext2s-fs.git
> cd ext2s-fs
> make all # on Windows>  mingw32-make.exe all
> cd bin
> ./server # server end
> ./client # client end

Design

ext2-vfs

  • config.h: Configuration of my ext2s-fs.

  • ext2_spec.h: ext2 specification

  • bitmap.hpp: Bitmap class

  • util.hpp: Utility functions

  • disk.hpp: Disk interface. Read or Write with block size = 1024Byte.

  • cache.hpp: LRU Cache. Cache the disk block data.

  • ext2m.hpp: ext2s implementation. Manage the block, inode, entry.

  • vfs.hpp: Virtual File System. Provide the api like open read write etc..

  • shell.hpp: Command line tools like cat touch ...

  • user.hpp: User management. userlist is in bin/userlist.txt.

    • uid usrename password
  • server.cpp: Server end for ext2s-fs, listen on port 60000(default).

  • client.cpp: Client end for ext2s-fs, connect to server and provide the terminal interface.

Others

❯ cloc ./ --exclude-dir=extern
      13 text files.
      13 unique files.
       1 file ignored.

github.com/AlDanial/cloc v 1.92  T=0.02 s (545.3 files/s, 133562.7 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C/C++ Header                    10            221            397           2178
C++                              3             42              4            342
-------------------------------------------------------------------------------
SUM:                            13            263            401           2520
-------------------------------------------------------------------------------