From 04b7808b00d6bb0efd53bd0a7d7119f9ce9d19d8 Mon Sep 17 00:00:00 2001 From: Stepan Usatiuk Date: Sat, 29 Jun 2024 17:24:01 +0200 Subject: [PATCH] undelete fix --- .../storage/objects/jrepository/JObjectResolver.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/com/usatiuk/dhfs/storage/objects/jrepository/JObjectResolver.java b/server/src/main/java/com/usatiuk/dhfs/storage/objects/jrepository/JObjectResolver.java index 8e4503d4..ffcbf8fb 100644 --- a/server/src/main/java/com/usatiuk/dhfs/storage/objects/jrepository/JObjectResolver.java +++ b/server/src/main/java/com/usatiuk/dhfs/storage/objects/jrepository/JObjectResolver.java @@ -71,7 +71,15 @@ public class JObjectResolver { self.assertRWLock(); if (self.getMeta().getRefcount() > 0) { - self.getMeta().undelete(); + if (self.isDeleted()) { + self.getMeta().undelete(); + if (self.isResolved()) { + for (var r : self.getData().extractRefs()) { + Log.info("Hydrating ref after undelete " + r + " for " + self.getName()); + jobjectManager.getOrPut(r, Optional.of(self.getName())); + } + } + } } if (self.getMeta().getRefcount() <= 0)