Current File : //usr/lib64/python3.6/site-packages/borg/__pycache__/fuse.cpython-36.pyc |
3
y��bnz � @ sB d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm Z d dl
mZ d dlZddl
mZ e� Z
ddlmZ ddlmZ ddlmZ dd lmZ dd
lmZmZmZmZmZ ddlmZ ddlmZ dd
l m!Z! ddl"m#Z# e$ej%d�Z&e$ej%d�Z'e$ej%d�Z(dd� Z)dZ*G dd� d�Z+G dd� dej,�Z-dS )� N)�defaultdict)�SIGINT� )�
create_logger)�blake2b_128)�Archiver)�Archive)�FuseVersionsIndex)� daemonize�hardlinkable�signal_handler�format_file_size�Error)�msgpack)�Item)�LRUCache)�RemoteRepository�st_mtime_ns�st_birthtime�st_birthtime_nsc C s t jdd�S )Nr )�workers)�llfuse�main� r r �/usr/lib64/python3.6/fuse.py� fuse_main# s r � c @ sF e Zd ZdZdZejd�Zejdks(t �dd� Z
dd � Zddd
�Zd
S )� ItemCachez�
This is the "meat" of the file system's metadata storage.
This class generates inode numbers that efficiently index items in archives,
and retrieves items from these inode numbers.
� i z=cII� c C sJ || _ t� | _d| _d| _tjdd�| _tddd� d�| _ d| _
d| _d S ) Nr i@B zborg-tmp)�prefix�
c S s d S )Nr )�_r r r �<lambda>_ s z$ItemCache.__init__.<locals>.<lambda>)�capacity�dispose)�decrypted_repository� bytearray�meta�write_offset�offset�tempfileZ
TemporaryFile�fdr �chunks�indirect_items�direct_items)�selfr&