projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into 3859-api-job-lock-method
[arvados.git]
/
services
/
fuse
/
arvados_fuse
/
__init__.py
diff --git
a/services/fuse/arvados_fuse/__init__.py
b/services/fuse/arvados_fuse/__init__.py
index e40b88ce9e24db679a4e1b9bb685aaafbd5d11d2..c261bc31972079b1119f300b506945e893e0e4aa 100644
(file)
--- a/
services/fuse/arvados_fuse/__init__.py
+++ b/
services/fuse/arvados_fuse/__init__.py
@@
-728,12
+728,13
@@
class Operations(llfuse.Operations):
so request handlers do not run concurrently unless the lock is explicitly released
using "with llfuse.lock_released:"'''
so request handlers do not run concurrently unless the lock is explicitly released
using "with llfuse.lock_released:"'''
- def __init__(self, uid, gid):
+ def __init__(self, uid, gid
, encoding="utf-8"
):
super(Operations, self).__init__()
self.inodes = Inodes()
self.uid = uid
self.gid = gid
super(Operations, self).__init__()
self.inodes = Inodes()
self.uid = uid
self.gid = gid
+ self.encoding = encoding
# dict of inode to filehandle
self._filehandles = {}
# dict of inode to filehandle
self._filehandles = {}
@@
-785,6
+786,7
@@
class Operations(llfuse.Operations):
return entry
def lookup(self, parent_inode, name):
return entry
def lookup(self, parent_inode, name):
+ name = unicode(name, self.encoding)
_logger.debug("arv-mount lookup: parent_inode %i name %s",
parent_inode, name)
inode = None
_logger.debug("arv-mount lookup: parent_inode %i name %s",
parent_inode, name)
inode = None
@@
-882,7
+884,10
@@
class Operations(llfuse.Operations):
e = off
while e < len(handle.entry):
if handle.entry[e][1].inode in self.inodes:
e = off
while e < len(handle.entry):
if handle.entry[e][1].inode in self.inodes:
- yield (handle.entry[e][0], self.getattr(handle.entry[e][1].inode), e+1)
+ try:
+ yield (handle.entry[e][0].encode(self.encoding), self.getattr(handle.entry[e][1].inode), e+1)
+ except UnicodeEncodeError:
+ pass
e += 1
def releasedir(self, fh):
e += 1
def releasedir(self, fh):