Move chunk server RequestQueue initialization to connection time
The RequestQueue for chunk servers should be initialized when the connection is actually established in get_chunk_server_connection(), not ahead of time during tinydfs_init(). The metadata server RequestQueue initialization remains in tinydfs_init() since the metadata server connection is established during initialization. Changes: - Removed premature RequestQueue initialization for chunk servers - Added clarifying comments about initialization timing - RequestQueue is initialized in get_chunk_server_connection() (line 227)
This commit is contained in:
+3
-3
@@ -121,16 +121,16 @@ TinyDFS *tinydfs_init(char *addr, uint16_t port)
|
||||
for (int i = 0; i < MAX_OPERATIONS; i++)
|
||||
tdfs->operations[i].type = OPERATION_TYPE_FREE;
|
||||
|
||||
// Initialize metadata server
|
||||
// Initialize metadata server (connected during init)
|
||||
tdfs->metadata_server.used = true;
|
||||
tdfs->metadata_server.addr = addr2;
|
||||
request_queue_init(&tdfs->metadata_server.reqs);
|
||||
|
||||
// Initialize chunk servers
|
||||
// Initialize chunk servers array (connections created on demand)
|
||||
tdfs->num_chunk_servers = 0;
|
||||
for (int i = 0; i < MAX_CHUNK_SERVERS; i++) {
|
||||
tdfs->chunk_servers[i].used = false;
|
||||
request_queue_init(&tdfs->chunk_servers[i].reqs);
|
||||
// Note: RequestQueue initialized in get_chunk_server_connection()
|
||||
}
|
||||
|
||||
return tdfs;
|
||||
|
||||
Reference in New Issue
Block a user