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