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.
> 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-
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 likeopenreadwriteetc.. -
shell.hpp: Command line tools likecattouch... -
user.hpp: User management.userlistis inbin/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.
❯ 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
-------------------------------------------------------------------------------