>Am I reading this incorrectly? It looks to me like if the first call to pack_backend__read_internal succeeds and returns 0 then this will still call pack_backend__read_internal a second time (and the same for the other functions with this pattern).

@arrbee You're completely correct. I fixed the code.. and all the leaks ;-)

>This points out that we probably need some success tests that also show that a successful non-refreshing lookup also only gets a read count of 1

I will add these.