storage: block_cache: Use new obj_ref_add_allow_unreferenced_obj

To reduce errors in the usage of refs, obj_ref_add now checks that there
is at least one reference to the object when creating it. The block
cache intentionally runs with 0 reference count in order to recycle
existing entries in the block cache. obj_ref_add_allow_unreferenced_obj
skips this check, preventing this code from breaking.

Bug: 117221195
Change-Id: I5792ef06fa1df12158fa78261116b87eccfaf668
diff --git a/block_cache.c b/block_cache.c
index 5870775..52ca41e 100644
--- a/block_cache.c
+++ b/block_cache.c
@@ -564,7 +564,7 @@
     }
 
     assert(!entry->dirty_ref);
-    obj_add_ref(&entry->obj, ref);
+    obj_add_ref_allow_unreferenced_obj(&entry->obj, ref);
     if (print_block_ops) {
         printf("%s: block %" PRIu64 ", cache entry %zd, loaded %d, dirty %d\n",
                __func__, block, entry - block_cache_entries, entry->loaded,