Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
struct kern_modules_param {
char *name;
struct kern_modules_param {
char *name;
};
#endif /* _KERN_MODULES_H */
};
#endif /* _KERN_MODULES_H */
}
} else {
DBG("Modprobe successfully %s", modules[i].name);
}
} else {
DBG("Modprobe successfully %s", modules[i].name);
+ modules[i].loaded = true;
}
kmod_module_unref(mod);
}
kmod_module_unref(mod);
for (i = entries - 1; i >= 0; i--) {
struct kmod_module *mod = NULL;
for (i = entries - 1; i >= 0; i--) {
struct kmod_module *mod = NULL;
+ if (!modules[i].loaded) {
+ continue;
+ }
+
ret = kmod_module_new_from_name(ctx, modules[i].name, &mod);
if (ret < 0) {
PERROR("Failed to create kmod module for %s", modules[i].name);
ret = kmod_module_new_from_name(ctx, modules[i].name, &mod);
if (ret < 0) {
PERROR("Failed to create kmod module for %s", modules[i].name);
}
} else {
DBG("Modprobe successfully %s", modules[i].name);
}
} else {
DBG("Modprobe successfully %s", modules[i].name);
char modprobe[256];
for (i = entries - 1; i >= 0; i--) {
char modprobe[256];
for (i = entries - 1; i >= 0; i--) {
+ if (!modules[i].loaded) {
+ continue;
+ }
ret = snprintf(modprobe, sizeof(modprobe),
"/sbin/modprobe -r -q %s",
modules[i].name);
ret = snprintf(modprobe, sizeof(modprobe),
"/sbin/modprobe -r -q %s",
modules[i].name);