#include "util.h"
#include "strv.h"
-/* This reads all module names listed in /etc/modules.d/?*.modules and
+/* This reads all module names listed in /etc/modules-load.d/?*.conf and
* loads them into the kernel. This follows roughly Debian's way to
* handle modules, but uses a directory of fragments instead of a
* single /etc/modules file. */
return 0;
if (d->d_type != DT_REG &&
- d->d_type != DT_LNK)
+ d->d_type != DT_LNK &&
+ d->d_type != DT_UNKNOWN)
return 0;
- return endswith(d->d_name, ".modules");
+ return endswith(d->d_name, ".conf");
}
int main(int argc, char *argv[]) {
n_arguments = n_allocated = 3;
- if ((n = scandir("/etc/modules.d/", &de, scandir_filter, alphasort)) < 0) {
+ if ((n = scandir("/etc/modules-load.d/", &de, scandir_filter, alphasort)) < 0) {
if (errno == ENOENT)
r = EXIT_SUCCESS;
else
- log_error("Failed to enumerate /etc/modules.d/ files: %m");
+ log_error("Failed to enumerate /etc/modules-load.d/ files: %m");
goto finish;
}
char *fn;
FILE *f;
- k = asprintf(&fn, "/etc/modules.d/%s", de[i]->d_name);
+ k = asprintf(&fn, "/etc/modules-load.d/%s", de[i]->d_name);
free(de[i]);
if (k < 0) {
free(fn);
if (!f) {
+ if (errno == ENOENT)
+ continue;
+
log_error("Failed to open %s: %m", fn);
r = EXIT_FAILURE;
continue;