From 70eb3cc4f39c2cc3ea619263a64de5dae43e34ae Mon Sep 17 00:00:00 2001 From: Pavel Emelyanov Date: Wed, 25 Dec 2013 16:53:46 +0400 Subject: [PATCH] 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: Pavel Emelyanov --- mount.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/mount.c b/mount.c index fce055442..7f27f3928 100644 --- a/mount.c +++ b/mount.c @@ -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; int img, ret; @@ -1219,7 +1219,7 @@ static int read_mnt_ns_img(int ns_pid) img = open_image(CR_FD_MNTS, O_RSTR, ns_pid); if (img < 0) - return -1; + return NULL; pr_debug("Reading mountpoint images\n"); @@ -1274,10 +1274,7 @@ static int read_mnt_ns_img(int ns_pid) mnt_entry__free_unpacked(me, NULL); close(img); - mntinfo_tree = NULL; - mntinfo = pms; - - return 0; + return pms; err: while (pms) { @@ -1286,14 +1283,16 @@ err: mnt_entry_free(pm); } close_safe(&img); - return -1; + return NULL; } static int populate_mnt_ns(int ns_pid) { 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; pms = mnt_build_tree(mntinfo);