#include <linux/auto_fs4.h>
#include <libubox/uloop.h>
+#include <libubox/utils.h>
#include <libubox/vlist.h>
#include <libubox/ulog.h>
#include <libubox/avl-cmp.h>
pid = fork();
switch (pid) {
case -1:
+ if (c)
+ free(c);
+
err = -errno;
ULOG_ERR("fork() failed\n");
return err;
vlist_add(&devices, &device->node, device->name);
- if (old && !device_move(old, device)) {
- if (device->autofs) {
- device_mount_remove(ctx, old);
- device_mount_add(ctx, device);
- } else {
+ if (old && device_move(old, device)) {
+ device_mount_remove(ctx, old);
+ device_mount_add(ctx, device);
+ if (!device->autofs)
block("mount", NULL, NULL, 0, NULL);
- }
} else if (device->autofs) {
device_mount_add(ctx, device);
}