An open API service indexing awesome lists of open source software.

https://github.com/garyhtou/simple-network-file-system

A simple client-server Network File System (NFS) over a simulated block-level disk.
https://github.com/garyhtou/simple-network-file-system

client-server cpsc3500 disk file-system network-file-system nfs

Last synced: about 1 year ago
JSON representation

A simple client-server Network File System (NFS) over a simulated block-level disk.

Awesome Lists containing this project

README

          

# 📂 Simple Network File System

## About

This **client-server network file system** is built on top of a provided virtual
disk featuring an **indexed block allocation** approach. The disk includes a
**Superblock**, **Free block bitmap**, **Inodes** (for files and directories),
and **Datablocks**. The client and server communicate over a **persistent TCP
connection**.

### Supported commands

- `ls`: List the contents of the current directory
- `cd `: Change to a specified directory
- `home`: Switch to the home (root) directory (similar to `cd /` in Unix)
- `rmdir `: Remove a directory. The directory must be empty
- `create `: Create an empty file
- `append `: Append data to an existing file
- `stat `: Display information for a given file or directory
- `cat `: Display the contents of a file
- `head `: Display the first `n` bytes of the file
- `rm `: Remove a file

More information can be found [here](/assignment/Project4_NFS.pdf).

## Meet The Team

**Gary Tou** ([@garyhtou](https://github.com/garyhtou))

- Creating and connecting TCP socket (Shell)
- Executing commands (Shell)
- home, append, rm (FileSys)
- Receiving messages for Client (Helper)
- Object Orientated wrapped classes for the BasicFileSys ([WrappedFileSys](/src/WrappedFileSys.h))

**Harry Rudolph** ([@hankrud](https://github.com/HankRud))

- Parsing the command line (Shell)
- Formatting and outputting command messages (Shell)
- mkdir, cd, stat, rmdir in (FileSys)
- Receiving messages for Server (Helper)
- Message formatting

**Castel Villalobos** ([@impropernoun](https://github.com/impropernoun))

- Remote procedure call commands (Shell)
- ls, create, head, cat (FileSys)
- Parsing and executing (server)
- Sending messages (Helper)
- Error Handling