projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '12315-exclude-child-procs'
[arvados.git]
/
services
/
fuse
/
arvados_fuse
/
fresh.py
diff --git
a/services/fuse/arvados_fuse/fresh.py
b/services/fuse/arvados_fuse/fresh.py
index a51dd909b690df3cb39865d021b8f4daea4b471b..2a3a19c54c66005a6f96cd8d1dbd6de3c6345aad 100644
(file)
--- a/
services/fuse/arvados_fuse/fresh.py
+++ b/
services/fuse/arvados_fuse/fresh.py
@@
-59,6
+59,10
@@
class FreshBase(object):
* Clear the object contents (invalidates the object)
"""
* Clear the object contents (invalidates the object)
"""
+
+ __slots__ = ("_stale", "_poll", "_last_update", "_atime", "_poll_time", "use_count",
+ "ref_count", "dead", "cache_size", "cache_uuid", "allow_attr_cache")
+
def __init__(self):
self._stale = True
self._poll = False
def __init__(self):
self._stale = True
self._poll = False
@@
-70,8
+74,9
@@
class FreshBase(object):
self.dead = False
self.cache_size = 0
self.cache_uuid = None
self.dead = False
self.cache_size = 0
self.cache_uuid = None
+
+ # Can the kernel cache attributes?
self.allow_attr_cache = True
self.allow_attr_cache = True
- self.allow_dirent_cache = True
def invalidate(self):
"""Indicate that object contents should be refreshed from source."""
def invalidate(self):
"""Indicate that object contents should be refreshed from source."""
@@
-142,3
+147,13
@@
class FreshBase(object):
def child_event(self, ev):
pass
def child_event(self, ev):
pass
+
+ def time_to_next_poll(self):
+ if self._poll:
+ t = (self._last_update + self._poll_time) - self._atime
+ if t < 0:
+ return 0
+ else:
+ return t
+ else:
+ return self._poll_time