summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2020-10-18 16:43:21 +0200
committerAnton Khirnov <anton@khirnov.net>2020-10-18 16:43:21 +0200
commitac612f7daed790b6f39e2a7358799a307f4aefce (patch)
tree00e9498b33d1acb517fc09c9922d956621397d2b
parent576b118d06f0bb926fac042c0e44a81d0dc7b431 (diff)
targets: LV names are not actually limited to 15 characters
-rw-r--r--lbup/targets.py9
1 files changed, 4 insertions, 5 deletions
diff --git a/lbup/targets.py b/lbup/targets.py
index cc7b027..179eeb7 100644
--- a/lbup/targets.py
+++ b/lbup/targets.py
@@ -271,8 +271,8 @@ class TargetSSHLVM(TargetSSH):
'--noheadings -o lv_full_name'.format(major = major, minor = minor))
lv_name = res.strip()
- # valid LV paths are volname/lvname, each at most 15 letters
- if not re.fullmatch(r'\w{1,15}/\w{1,15}', lv_name, re.ASCII):
+ # valid LV paths are volname/lvname, each non-empty alphanumeric+_
+ if not re.fullmatch(r'\w+/\w+', lv_name, re.ASCII):
raise BackupException('Invalid LV path', lv_name)
return lv_name
@@ -289,8 +289,7 @@ class TargetSSHLVM(TargetSSH):
vg_name = lv_fullname.split('/')[0]
# create a read-only snapshot with a random name
- # valid LV names are at most 15 characters
- snapshot_name = secrets.token_urlsafe()[:15]
+ snapshot_name = secrets.token_urlsafe()
snapshot_fullname = '%s/%s' % (vg_name, snapshot_name)
self._paramiko_exec_cmd(ssh,
'lvcreate --permission r --snapshot -L {size} -n {name} {origin}'
@@ -467,7 +466,7 @@ class TargetSSHLXCLVM(TargetSSH):
raise BackupException('Unexpected LV/VG name: %s\t%s' % (lv_name, vg_name))
# create a read-only snapshot with a random name
- snapshot_name = secrets.token_urlsafe()[:15]
+ snapshot_name = secrets.token_urlsafe()
self._paramiko_exec_cmd(parent,
'lvcreate --permission r --snapshot -L {size} -n {name} {origin}'
.format(size = self._snapshot_size, name = snapshot_name,