mirror of
https://github.com/xcat2/confluent.git
synced 2025-01-14 03:37:49 +00:00
Tolerate delays in crypt-dm completion for imgutil
This commit is contained in:
parent
6bf51a20b2
commit
d0c23e490b
@ -15,6 +15,7 @@ import struct
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import time
|
||||
|
||||
libc = ctypes.CDLL(ctypes.util.find_library('c'))
|
||||
CLONE_NEWNS = 0x00020000
|
||||
@ -315,7 +316,16 @@ def encrypt_image(plainfile, cryptfile, keyfile):
|
||||
lastoffset = plainin.tell()
|
||||
cryptout.write(chunk)
|
||||
chunk = plainin.read(2097152)
|
||||
subprocess.check_call(['dmsetup', 'remove', dmname])
|
||||
mounted = True
|
||||
tries = 30
|
||||
time.sleep(0.1)
|
||||
while mounted:
|
||||
tries -= 1
|
||||
try:
|
||||
subprocess.check_call(['dmsetup', 'remove', dmname])
|
||||
mounted = False
|
||||
except subprocess.CalledProcessError:
|
||||
time.sleep(0.1)
|
||||
subprocess.check_call(['losetup', '-d', loopdev])
|
||||
oum = os.umask(0o077)
|
||||
with open(keyfile, 'w') as keyout:
|
||||
@ -890,7 +900,16 @@ def unpack_image(args):
|
||||
subprocess.check_call(['unsquashfs', '-d', 'rootfs', indir])
|
||||
finally:
|
||||
if cleandmtable:
|
||||
subprocess.check_call(['dmsetup', 'remove', cleandmtable])
|
||||
mounted = True
|
||||
tries = 30
|
||||
time.sleep(0.1)
|
||||
while mounted and tries:
|
||||
tries -= 1
|
||||
try:
|
||||
subprocess.check_call(['dmsetup', 'remove', cleandmtable])
|
||||
mounted = False
|
||||
except subprocess.CalledProcessError:
|
||||
time.sleep(0.1)
|
||||
|
||||
|
||||
def pack_image(args):
|
||||
|
Loading…
x
Reference in New Issue
Block a user