From b540eb5ee74e71fd4a05f61c2698e3e665a14844 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Wed, 26 Jun 2019 12:45:35 +0200 Subject: [PATCH] losetup: create and attach images to loopback devices in one operation Signed-off-by: Tom Gundersen --- assemblers/io.weldr.qcow2 | 3 +-- stages/io.weldr.grub2 | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/assemblers/io.weldr.qcow2 b/assemblers/io.weldr.qcow2 index abfa853c..12f396d9 100755 --- a/assemblers/io.weldr.qcow2 +++ b/assemblers/io.weldr.qcow2 @@ -35,9 +35,8 @@ def mount_api(dest): @contextlib.contextmanager def loop_device(image): - r = subprocess.run(["losetup", "-f"], stdout=subprocess.PIPE, encoding="utf-8", check=True) + r = subprocess.run(["losetup", "--partscan", "--show", "--find", image], stdout=subprocess.PIPE, encoding="utf-8", check=True) loop = r.stdout.strip() - r = subprocess.run(["losetup", loop, "-P", image], check=True) try: yield loop finally: diff --git a/stages/io.weldr.grub2 b/stages/io.weldr.grub2 index f5823566..fb626194 100755 --- a/stages/io.weldr.grub2 +++ b/stages/io.weldr.grub2 @@ -35,9 +35,8 @@ def mount_api(dest): @contextlib.contextmanager def loop_device(image): - r = subprocess.run(["losetup", "-f"], stdout=subprocess.PIPE, encoding="utf-8", check=True) + r = subprocess.run(["losetup", "--partscan", "--show", "--find", image], stdout=subprocess.PIPE, encoding="utf-8", check=True) loop = r.stdout.strip() - r = subprocess.run(["losetup", loop, "-P", image], check=True) try: yield loop finally: