X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c5f1d667aed3a993296374de3d53f3a2745c4ff4..a27e0874320e408124fee837b355995350bbc7ee:/services/fuse/arvados_fuse/fresh.py diff --git a/services/fuse/arvados_fuse/fresh.py b/services/fuse/arvados_fuse/fresh.py index 2075741dbd..e7e91db427 100644 --- a/services/fuse/arvados_fuse/fresh.py +++ b/services/fuse/arvados_fuse/fresh.py @@ -64,16 +64,19 @@ class FreshBase(object): self.use_count = 0 self.ref_count = 0 self.dead = False - self.cache_priority = None self.cache_size = 0 self.cache_uuid = None self.allow_attr_cache = True self.allow_dirent_cache = True - # Mark the value as stale def invalidate(self): + """Indicate that object contents should be refreshed from source.""" self._stale = True + def kernel_invalidate(self): + """Indicate that an invalidation for this object should be sent to the kernel.""" + pass + # Test if the entries dict is stale. def stale(self): if self._stale: @@ -92,7 +95,7 @@ class FreshBase(object): def persisted(self): return False - def clear(self, force=False): + def clear(self): pass def in_use(self): @@ -112,6 +115,18 @@ class FreshBase(object): self.ref_count -= n return self.ref_count + def has_ref(self, only_children): + """Determine if there are any kernel references to this + object or its children. + + If only_children is True, ignore refcount of self and only consider + children. + """ + if only_children: + return False + else: + return self.ref_count > 0 + def objsize(self): return 0