X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/0eb72b526bf8bbb011551ecf019f604e17a534f1..aa541480ba27f2dfec85cbe4f07c07743bb901b2:/services/fuse/arvados_fuse/fusefile.py diff --git a/services/fuse/arvados_fuse/fusefile.py b/services/fuse/arvados_fuse/fusefile.py index 8189a19742..cedb4fb451 100644 --- a/services/fuse/arvados_fuse/fusefile.py +++ b/services/fuse/arvados_fuse/fusefile.py @@ -15,6 +15,8 @@ _logger = logging.getLogger('arvados.arvados_fuse') class File(FreshBase): """Base for file objects.""" + __slots__ = ("inode", "parent_inode", "_mtime") + def __init__(self, parent_inode, _mtime=0): super(File, self).__init__() self.inode = None @@ -46,6 +48,8 @@ class File(FreshBase): class FuseArvadosFile(File): """Wraps a ArvadosFile.""" + __slots__ = ('arvfile',) + def __init__(self, parent_inode, arvfile, _mtime): super(FuseArvadosFile, self).__init__(parent_inode, _mtime) self.arvfile = arvfile @@ -122,12 +126,11 @@ class FuncToJSONFile(StringFile): super(FuncToJSONFile, self).__init__(parent_inode, "", 0) self.func = func - # invalidate_inode() and invalidate_entry() are asynchronous - # with no callback to wait for. In order to guarantee - # userspace programs don't get stale data that was generated - # before the last invalidate(), we must disallow dirent + # invalidate_inode() is asynchronous with no callback to wait for. In + # order to guarantee userspace programs don't get stale data that was + # generated before the last invalidate(), we must disallow inode # caching entirely. - self.allow_dirent_cache = False + self.allow_attr_cache = False def size(self): self._update()