From a685a503248acf0308e134efa90e27c4a03f664a Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 19 Nov 2022 15:01:12 +0000 Subject: [PATCH] mount: Cleanup auto-creating mount targets Signed-off-by: Michael Tremer --- src/libpakfire/mount.c | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/src/libpakfire/mount.c b/src/libpakfire/mount.c index 6e63db18a..c00bc658f 100644 --- a/src/libpakfire/mount.c +++ b/src/libpakfire/mount.c @@ -347,26 +347,19 @@ int pakfire_mount_all(struct pakfire* pakfire) { if (r) return r; - // Create target - pakfire_mkdir(target, 0755); + // Create target if it doesn't exist + if (!pakfire_path_exists(target)) { + r = pakfire_mkdir(target, 0755); + if (r) { + ERROR(pakfire, "Could not create %s: %m\n", target); + return r; + } + } -RETRY: // Perform mount() r = pakfire_mount(pakfire, mp->source, target, mp->fstype, mp->flags, mp->options); - if (r) { - // If the target directory does not exist, we will create it - if (errno == ENOENT) { - r = pakfire_mkdir(target, 0755); - if (r) { - ERROR(pakfire, "Could not create %s\n", target); - return r; - } - - goto RETRY; - } - + if (r) return r; - } } // Populate /dev -- 2.39.5