[lxc-devel] [lxc/master] Handle alternative loop device location on Android
kubiko on Github
lxc-bot at linuxcontainers.org
Fri Jan 18 08:16:48 UTC 2019
A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 414 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20190118/c6fc73a8/attachment.bin>
-------------- next part --------------
From 51e3e94253b7f1cb7eecca77408589bb5b1a2569 Mon Sep 17 00:00:00 2001
From: ondra <ondrak at localhost.localdomain>
Date: Fri, 11 Jan 2019 14:45:38 +0000
Subject: [PATCH] Handle alternative loop device location on Android
Signed-off-by: ondra <ondrak at localhost.localdomain>
---
src/lxc/utils.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/lxc/utils.c b/src/lxc/utils.c
index ef71b6df7..06e05f355 100644
--- a/src/lxc/utils.c
+++ b/src/lxc/utils.c
@@ -1485,8 +1485,16 @@ static int lxc_get_unused_loop_dev(char *name_loop)
goto on_error;
fd_tmp = open(name_loop, O_RDWR | O_CLOEXEC);
- if (fd_tmp < 0)
- SYSERROR("Failed to open loop \"%s\"", name_loop);
+ if (fd_tmp < 0) {
+ // on Android loop devices are moved under /dev/block, give it a shot
+ TRACE("Trying Android loop layout");
+ ret = snprintf(name_loop, LO_NAME_SIZE, "/dev/block/loop%d", loop_nr);
+ if (ret < 0 || ret >= LO_NAME_SIZE)
+ goto on_error;
+ fd_tmp = open(name_loop, O_RDWR | O_CLOEXEC);
+ if (fd_tmp < 0)
+ SYSERROR("Failed to open loop \"%s\"", name_loop);
+ }
on_error:
close(fd_ctl);
More information about the lxc-devel
mailing list