Please go through FUSE for installation guide and understanding how it works.
Follow these steps to install gRPC lib using cmake: https://grpc.io/docs/languages/cpp/quickstart/#setup.
:warning: make sure to limit the processes by passing number(e.g. 4) during make -j
command.
for example, instead of make -j
use make -j 4
- Create
cache_path
in root mode. - Update
cache_path
on client side. - Create
server_storage_path
in root mode. - Update
server storage path
on server side. - mkdir -p cmake/build
- pushd cmake/build
- cmake -DCMAKE_PREFIX_PATH=$MY_INSTALL_DIR ../..
- make -j 4
- In root mode, run
afs_server
in one terminal - In root mode, run
fuse-client
by passing appropriate fuse arguments as shown below.
./fuse-client -o allow_other -o auto_unmount -f /mount_dir
execute make clean
from cmake/build
directory.
There are some flags that we have inserted in our code to test various crash scenarios and enable logs. There is also configurable buffer size for read/write/stream operations.
- Client side config: https://github.com/hemal7735/CS739-p2/blob/main/src/afs_client.cc#L43-L64
- Server side config: https://github.com/hemal7735/CS739-p2/blob/main/src/afs_client.cc#L43-L64