7a0842295c
Name lookup brings back the O(m') scan-during-fetch approach of the previous metadata layout. Since our rbyd trees map id+attr pairs and not actual names, this beats the alternative O(m log(m)) scan of the tree. Though tree searching does only include the current attributes, where as scanning during fetch needs to also look at outdated attributes. Which may make the winner less obvious depending on how we find the rbyd. But being able to do the search in the same pass as fetch is an extra plus. --- What turned out to be surprisingly complicated was the propagation of names during B-tree splits and merges. The on-disk reference, lfsr_data_t, does most of the heavy lifting here, but there's just a lot of corner cases to consider. At the moment this isn't working due to outdated names on the leading entries of the rbyds, but to fix this bigger changes to the B-tree layout may be needed.