def getattr(self, path, fh=None):
uid, gid, pid = fuse_get_context()
try:
item = self.romfs_reader.get_info_from_path(path)
except romfs.RomFSFileNotFoundException:
raise FuseOSError(errno.ENOENT)
if item.type == 'dir':
st = {'st_mode': (stat.S_IFDIR | 0o555), 'st_nlink': 2}
elif item.type == 'file':
st = {'st_mode': (stat.S_IFREG | 0o444), 'st_size': item.size, 'st_nlink': 1}
else:
# this won't happen unless I fucked up
raise FuseOSError(errno.ENOENT)
return {**st, **self.g_stat, 'st_uid': uid, 'st_gid': gid}
评论列表
文章目录