e1869b4cf1c6e32e5e07a619c30c14887b6161bc
Fixed critical bugs in the DOWNLOAD_LOCATIONS message exchange between metadata server and chunk server: Metadata server changes: - Fixed bug using wrong index (j instead of holders[j]) when writing chunk server addresses - Added missing hash field to the message (was only read, never written) - Added trace output for STATE_UPDATE_ERROR messages - Pre-read all missing chunks before building response Chunk server changes: - Updated message parser to match metadata server's message format - Changed from group-based format to per-chunk format - Updated type sizes (uint32_t for counts instead of uint8_t/uint16_t) - Correctly accumulates addresses from all holders before adding to pending download list The message now follows this structure: - num_missing (uint32_t) - For each missing chunk: - num_holders (uint32_t) - For each holder: server addresses (num_ipv4, num_ipv6, addresses) - hash (SHA256) Tested successfully with mousefs_random_test under valgrind with no memory errors detected.
Languages
C
98.4%
Shell
1%
Zig
0.4%
Batchfile
0.2%