mirror of
https://github.com/versity/scoutfs.git
synced 2026-02-07 19:20:44 +00:00
Item reading tries to directly walk the manifest to find segments to read. That doesn't work when only the server has read the ring and loaded the manifest. This adds a network message to ask the server for the manifest entries that describe the segments that will be needed to read items. Previously item reading would walk the manifest and build up native manifest references in a list that it'd use to read. To implement the network message we add request sending, processing, and reply parsing around those original functions. Item reading now packs its key range and sends it to the server. The server walks the manifest and sends the entries that intersect with the key range. Then the reply function builds up the native manifest references that item reading will use. The net reply functions needed an argument so that the manifest reading request could pass in the caller's list that the native manifest references should be added to. Signed-off-by: Zach Brown <zab@versity.com>