Просмотр исходного кода

storage/lvm: force default locale for lvm command

Scripts do parse its output sometimes (especially `lvs`), so make sure
we always gets the same format, regardless of the environment. Including
decimal separator.

Fixes QubesOS/qubes-issues#3753
Marek Marczykowski-Górecki 6 лет назад
Родитель
Сommit
faca89875b
1 измененных файлов с 3 добавлено и 1 удалено
  1. 3 1
      qubes/storage/lvm.py

+ 3 - 1
qubes/storage/lvm.py

@@ -566,8 +566,10 @@ def qubes_lvm(cmd, log=logging.getLogger('qubes.storage.lvm')):
         cmd = ['sudo', 'lvm'] + lvm_cmd
     else:
         cmd = ['lvm'] + lvm_cmd
+    environ = os.environ.copy()
+    environ['LC_ALL'] = 'C.utf8'
     p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
-        close_fds=True)
+        close_fds=True, env=environ)
     out, err = p.communicate()
     return_code = p.returncode
     if out: