X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c5f1d667aed3a993296374de3d53f3a2745c4ff4..c7e3518e66369b931821b802160bd014cf82b218:/services/fuse/arvados_fuse/__init__.py diff --git a/services/fuse/arvados_fuse/__init__.py b/services/fuse/arvados_fuse/__init__.py index 65f117b55a..6ac51f4387 100644 --- a/services/fuse/arvados_fuse/__init__.py +++ b/services/fuse/arvados_fuse/__init__.py @@ -254,7 +254,7 @@ class Inodes(object): llfuse.invalidate_inode(inode) def invalidate_entry(self, inode, name): - llfuse.invalidate_entry(inode, name) + llfuse.invalidate_entry(inode, name.encode(self.encoding)) def clear(self): self.inode_cache.clear() @@ -459,6 +459,7 @@ class Operations(llfuse.Operations): else: if parent_inode in self.inodes: p = self.inodes[parent_inode] + self.inodes.touch(p) if name == '..': inode = p.parent_inode elif isinstance(p, Directory) and name in p: @@ -500,11 +501,14 @@ class Operations(llfuse.Operations): fh = next(self._filehandles_counter) self._filehandles[fh] = FileHandle(fh, p) self.inodes.touch(p) + + _logger.debug("arv-mount open inode %i flags %x fh %i", inode, flags, fh) + return fh @catch_exceptions def read(self, fh, off, size): - _logger.debug("arv-mount read %i %i %i", fh, off, size) + _logger.debug("arv-mount read fh %i off %i size %i", fh, off, size) self.read_ops_counter.add(1) if fh in self._filehandles: @@ -587,8 +591,6 @@ class Operations(llfuse.Operations): else: raise llfuse.FUSEError(errno.EBADF) - _logger.debug("arv-mount handle.dirobj %s", handle.obj) - e = off while e < len(handle.entries): if handle.entries[e][1].inode in self.inodes: