udev: kmod, hwdb - do not fail if databases are not available

This commit is contained in:
Kay Sievers 2012-10-25 22:58:02 +02:00
parent 3b0a5f2023
commit 5b4d50efe8
2 changed files with 7 additions and 3 deletions

View File

@ -307,6 +307,9 @@ static int builtin_hwdb_init(struct udev *udev)
struct stat st;
const char sig[] = HWDB_SIG;
if (trie.f)
return 0;
trie.f = fopen(SYSCONFDIR "/udev/hwdb.bin", "re");
if (!trie.f)
return -errno;
@ -361,7 +364,7 @@ static bool builtin_hwdb_validate(struct udev *udev)
struct stat st;
if (!trie.f)
return true;
return false;
if (fstat(fileno(trie.f), &st) < 0)
return true;
if (trie.file_time_usec != ts_usec(&st.st_mtim))

View File

@ -39,8 +39,6 @@ static int load_module(struct udev *udev, const char *alias)
struct kmod_list *l;
int err;
assert(ctx);
err = kmod_module_new_from_lookup(ctx, alias, &list);
if (err < 0)
return err;
@ -77,6 +75,9 @@ static int builtin_kmod(struct udev_device *dev, int argc, char *argv[], bool te
struct udev *udev = udev_device_get_udev(dev);
int i;
if (ctx)
return 0;
if (argc < 3 || strcmp(argv[1], "load")) {
log_error("expect: %s load <module>\n", argv[0]);
return EXIT_FAILURE;