]> git.proxmox.com Git - ceph.git/blame - ceph/src/pybind/mgr/volumes/fs/vol_spec.py
import quincy beta 17.1.0
[ceph.git] / ceph / src / pybind / mgr / volumes / fs / vol_spec.py
CommitLineData
92f5a8d4
TL
1class VolSpec(object):
2 """
3 specification of a "volume" -- base directory and various prefixes.
4 """
5
6 # where shall we (by default) create subvolumes
7 DEFAULT_SUBVOL_PREFIX = "/volumes"
8 # and the default namespace
9 DEFAULT_NS_PREFIX = "fsvolumens_"
a4b75251
TL
10 # default mode for subvol prefix and group
11 DEFAULT_MODE = 0o755
92f5a8d4
TL
12
13 def __init__(self, snapshot_prefix, subvolume_prefix=None, pool_ns_prefix=None):
14 self.snapshot_prefix = snapshot_prefix
15 self.subvolume_prefix = subvolume_prefix if subvolume_prefix else VolSpec.DEFAULT_SUBVOL_PREFIX
16 self.pool_ns_prefix = pool_ns_prefix if pool_ns_prefix else VolSpec.DEFAULT_NS_PREFIX
17
18 @property
19 def snapshot_dir_prefix(self):
20 """
21 Return the snapshot directory prefix
22 """
23 return self.snapshot_prefix
24
25 @property
26 def base_dir(self):
27 """
28 Return the top level directory under which subvolumes/groups are created
29 """
30 return self.subvolume_prefix
31
32 @property
33 def fs_namespace(self):
34 """
35 return a filesystem namespace by stashing pool namespace prefix and subvolume-id
36 """
37 return self.pool_ns_prefix