瀏覽代碼

Merge pull request #5106 from ThomasWaldmann/fuse-opts

FUSE micro opt, removal of unneeded code
TW 5 年之前
父節點
當前提交
b6a31be8c3
共有 1 個文件被更改,包括 8 次插入24 次删除
  1. 8 24
      src/borg/fuse.py

+ 8 - 24
src/borg/fuse.py

@@ -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):