This project implements a parallel file server and synchronization related problems. Clients (CLs) and file servers (FSs) know the (IP,PORT) of meta-data manager (MM). Therefore file servers export their (IP,PORT) to MM, and MM imports them to any connected CL. We put predefined MM’s (IP,PORT) in config.h files of all projects (PFS_client, PFS_M…
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
PFS_MM
PFS_client
PFS_server
resource
PFS by Farshid.Farhat & Diman.Zad Tootaghaj.pdf
README.md

README.md

Parallel-File-Server

This Project has been done by Diman Zad Tootaghaj and Farshid Farhat This project implements a parallel file server and synchronization related problems. Clients (CLs) and file servers (FSs) know the (IP,PORT) of meta-data manager (MM). Therefore file servers export their (IP,PORT) to MM, and MM imports them to any connected CL. We put predefined MM’s (IP,PORT) in config.h files of all projects (PFS_client, PFS_MM, and PFS_server). Our codes don’t have any warnings and all warnings are related to test codes! We added one function at the beginning of the test codes called “initialize(argc, argv);”! It’s necessary to initialize the client to make sockets with MM & FSs. For modularity it was better to separate initialization step from pfs_create (not inside this function), because it may call pfs_create multiple times. All ‘w’ in test codes should be changed to “w”! Also I put “argc=2;argv[1]=”1”;” at the beginning just for debugging the code that could be omitted and compile again. Also it is assumed that the test-c1.c is first executed and then test-c2.c, test-c3.c, test2.c and test3.c can be run, because test-c1.c creates the pfs_file1 that can be used by other test codes. Also “file” string inside all test codes was changed to “pfs_file1” to be compatible with the first test code (test-c1.c).