Commit 70eb3cc4 authored by Pavel Emelyanov's avatar Pavel Emelyanov

mount: Make images reader return the list of mounts

To carry them with us in a local variable (next patches), not
the global mntinfo one.
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent cb4e125b
...@@ -1209,7 +1209,7 @@ static void free_mounts(void) ...@@ -1209,7 +1209,7 @@ static void free_mounts(void)
} }
} }
static int read_mnt_ns_img(int ns_pid) static struct mount_info *read_mnt_ns_img(int ns_pid)
{ {
MntEntry *me = NULL; MntEntry *me = NULL;
int img, ret; int img, ret;
...@@ -1219,7 +1219,7 @@ static int read_mnt_ns_img(int ns_pid) ...@@ -1219,7 +1219,7 @@ static int read_mnt_ns_img(int ns_pid)
img = open_image(CR_FD_MNTS, O_RSTR, ns_pid); img = open_image(CR_FD_MNTS, O_RSTR, ns_pid);
if (img < 0) if (img < 0)
return -1; return NULL;
pr_debug("Reading mountpoint images\n"); pr_debug("Reading mountpoint images\n");
...@@ -1274,10 +1274,7 @@ static int read_mnt_ns_img(int ns_pid) ...@@ -1274,10 +1274,7 @@ static int read_mnt_ns_img(int ns_pid)
mnt_entry__free_unpacked(me, NULL); mnt_entry__free_unpacked(me, NULL);
close(img); close(img);
mntinfo_tree = NULL; return pms;
mntinfo = pms;
return 0;
err: err:
while (pms) { while (pms) {
...@@ -1286,14 +1283,16 @@ err: ...@@ -1286,14 +1283,16 @@ err:
mnt_entry_free(pm); mnt_entry_free(pm);
} }
close_safe(&img); close_safe(&img);
return -1; return NULL;
} }
static int populate_mnt_ns(int ns_pid) static int populate_mnt_ns(int ns_pid)
{ {
struct mount_info *pms; struct mount_info *pms;
if (read_mnt_ns_img(ns_pid)) mntinfo_tree = NULL;
mntinfo = read_mnt_ns_img(ns_pid);
if (mntinfo == NULL)
return -1; return -1;
pms = mnt_build_tree(mntinfo); pms = mnt_build_tree(mntinfo);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment