From 5adf1337cfe580155aeebd009f406c9446c91f47 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 2 Nov 2025 13:33:39 +0000 Subject: [PATCH] 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) --- src/client.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/client.c b/src/client.c index 344a20e..4d745b8 100644 --- a/src/client.c +++ b/src/client.c @@ -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;