]> git.proxmox.com Git - ceph.git/blob - ceph/src/pybind/mgr/volumes/fs/operations/resolver.py
bump version to 19.2.0-pve1
[ceph.git] / ceph / src / pybind / mgr / volumes / fs / operations / resolver.py
1 import os
2
3 from .group import Group
4
5
6 def splitall(path):
7 if path == "/":
8 return ["/"]
9 s = os.path.split(path)
10 return splitall(s[0]) + [s[1]]
11
12
13 def resolve(vol_spec, path):
14 parts = splitall(path)
15 if len(parts) != 4 or os.path.join(parts[0], parts[1]) != vol_spec.subvolume_prefix:
16 return None
17 groupname = None if parts[2] == Group.NO_GROUP_NAME else parts[2]
18 subvolname = parts[3]
19 return (groupname, subvolname)
20
21
22 def resolve_trash(vol_spec, path):
23 parts = splitall(path)
24 if len(parts) != 6 or os.path.join(parts[0], parts[1]) != vol_spec.subvolume_prefix or \
25 parts[4] != '.trash':
26 return None
27 groupname = None if parts[2] == Group.NO_GROUP_NAME else parts[2]
28 subvolname = parts[3]
29 return (groupname, subvolname)