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 likeopen
read
write
etc.. -
shell.hpp
: Command line tools likecat
touch
... -
user.hpp
: User management.userlist
is 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
-------------------------------------------------------------------------------