Merge pull request #5106 from ThomasWaldmann/fuse-opts

FUSE micro opt, removal of unneeded code
This commit is contained in:
TW 2020-04-12 18:44:59 +02:00 committed by GitHub
commit b6a31be8c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 24 deletions

View File

@ -8,7 +8,6 @@ import tempfile
import time
from collections import defaultdict
from signal import SIGINT
from distutils.version import LooseVersion
import llfuse
@ -25,17 +24,10 @@ from .item import Item
from .lrucache import LRUCache
from .remote import RemoteRepository
# Does this version of llfuse support ns precision?
have_fuse_xtime_ns = hasattr(llfuse.EntryAttributes, 'st_mtime_ns')
fuse_version = LooseVersion(getattr(llfuse, '__version__', '0.1'))
if fuse_version >= '0.42':
def fuse_main():
return llfuse.main(workers=1)
else:
def fuse_main():
llfuse.main(single=True)
return None
def fuse_main():
return llfuse.main(workers=1)
# size of some LRUCaches (1 element per simultaneously open file)
# note: _inode_cache might have rather large elements - Item.chunks can be large!
@ -362,8 +354,7 @@ class FuseBackend(object):
file_id = blake2b_128(path)
current_version, previous_id = self.versions_index.get(file_id, (0, None))
chunk_ids = [chunk_id for chunk_id, _, _ in item.chunks]
contents_id = blake2b_128(b''.join(chunk_ids))
contents_id = blake2b_128(b''.join(chunk_id for chunk_id, _, _ in item.chunks))
if contents_id != previous_id:
current_version += 1
@ -567,17 +558,10 @@ class FuseOperations(llfuse.Operations, FuseBackend):
entry.st_blksize = 512
entry.st_blocks = (entry.st_size + entry.st_blksize - 1) // entry.st_blksize
# note: older archives only have mtime (not atime nor ctime)
mtime_ns = item.mtime
if have_fuse_xtime_ns:
entry.st_mtime_ns = mtime_ns
entry.st_atime_ns = item.get('atime', mtime_ns)
entry.st_ctime_ns = item.get('ctime', mtime_ns)
entry.st_birthtime_ns = item.get('birthtime', mtime_ns)
else:
entry.st_mtime = mtime_ns / 1e9
entry.st_atime = item.get('atime', mtime_ns) / 1e9
entry.st_ctime = item.get('ctime', mtime_ns) / 1e9
entry.st_birthtime = item.get('birthtime', mtime_ns) / 1e9
entry.st_mtime_ns = mtime_ns = item.mtime
entry.st_atime_ns = item.get('atime', mtime_ns)
entry.st_ctime_ns = item.get('ctime', mtime_ns)
entry.st_birthtime_ns = item.get('birthtime', mtime_ns)
return entry
def listxattr(self, inode, ctx=None):