btrsync.sync.root.local¶
Btrfs roots implemented using locally executed btrfs commands.
Functions
|
Return an appropriate btrfs root class for accessing local btrfs filesystems. |
- btrsync.sync.root.local.LocalRoot(*, sudo=False)[source]¶
Return an appropriate btrfs root class for accessing local btrfs filesystems.
- Parameters
sudo – if
True, usesudoto executebtrfscommands
Classes
|
Btrfs root implemented using local execution of |
- class btrsync.sync.root.local.LocalBtrfsRoot(rootpath, *, scope='all', readonly=True, create_recvpath=False)[source]¶
Btrfs root implemented using local execution of
btrfscommands, anchored at rootpath.- Parameters
rootpath – path to the target subvolume root
scope – determines the scope of accessible subvolumes:
'all'includes all subvolumes reachable from rootpath,'strict'includes only subvolumes directly contained in rootpath, and'isolated'behaves like'strict', but also excludes other subvolumes from computing parentagereadonly – if
True, list only readonly subvolumescreate_recvpath – if
True, ensure the path passed toreceive()exists
- Raises
ValueError – for an invalid value of scope
- async classmethod get_root(path, **kwargs)[source]¶
Determine the subvolume root containing path and return a btrfs root instance anchored there.
- Parameters
path – the path to examine
kwargs – keyword arguments passed on to the btrfs root constructor
- Returns
a tuple
(root, relpath)containing the requested btrfs root instance along with the component of path relative to the root path- Raises
BtrfsError – if the operation fails
- async classmethod is_root(path)[source]¶
Return whether path points to a btrfs subvolume root or not.
- async list()[source]¶
List available subvolumes within this root, as a sequence of COW hierarchy roots.
- property name¶
Human-readable name identifying this root and the location it refers to.
- async receive(flow, path='.', *, meta={})[source]¶
Perform a receive operation into path using the send stream provided by flow.
- Parameters
flow – a
btrsync.util.Flowcontaining the btrfs send streampath – the relative path to receive into
meta – (optional) additional metadata about the send stream
- Returns
a coroutine that finalizes the receive operation when run
- async send(*paths, parent=None, clones=[])[source]¶
Set up a send operation of paths with parent parent and clones clones.
- Parameters
paths – the paths of the subvolumes to send
parent – if not
None, the path of the parent subvolume to use for incremental sendclones – sequence of paths of clone subvolumes
- Returns
a tuple
(flow, send_coro)containing the sendbtrsync.util.Flowand a coroutine that finalizes the send operation when run
- static wrapcmds(cmds)¶
Return cmds unchanged; override to customize executed commands.