From b55df2ee0313da8c42605d9570da1d5c8e901132 Mon Sep 17 00:00:00 2001 From: Gustavo Sverzut Barbieri Date: Tue, 20 Dec 2011 13:04:10 -0200 Subject: [PATCH] kmod_module_new_*: improve debugging. --- libkmod/libkmod-module.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c index a586201..2d20792 100644 --- a/libkmod/libkmod-module.c +++ b/libkmod/libkmod-module.c @@ -327,16 +327,21 @@ KMOD_EXPORT int kmod_module_new_from_path(struct kmod_ctx *ctx, return -ENOENT; abspath = path_make_absolute_cwd(path); - if (abspath == NULL) + if (abspath == NULL) { + DBG(ctx, "no absolute path for %s\n", path); return -ENOMEM; + } err = stat(abspath, &st); if (err < 0) { + err = -errno; + DBG(ctx, "stat %s: %s\n", path, strerror(errno)); free(abspath); - return -errno; + return err; } if (path_to_modname(path, name, &namelen) == NULL) { + DBG(ctx, "could not get modname from path %s\n", path); free(abspath); return -ENOENT; } @@ -477,29 +482,38 @@ KMOD_EXPORT int kmod_module_new_from_lookup(struct kmod_ctx *ctx, return -ENOSYS; } - if (alias_normalize(given_alias, alias, NULL) < 0) + if (alias_normalize(given_alias, alias, NULL) < 0) { + DBG(ctx, "invalid alias: %s\n", given_alias); return -EINVAL; + } + + DBG(ctx, "input alias=%s, normalized=%s\n", given_alias, alias); /* Aliases from config file override all the others */ err = kmod_lookup_alias_from_config(ctx, alias, list); CHECK_ERR_AND_FINISH(err, fail, list, finish); + DBG(ctx, "lookup modules.dep %s\n", alias); err = kmod_lookup_alias_from_moddep_file(ctx, alias, list); CHECK_ERR_AND_FINISH(err, fail, list, finish); + DBG(ctx, "lookup modules.symbols %s\n", alias); err = kmod_lookup_alias_from_symbols_file(ctx, alias, list); CHECK_ERR_AND_FINISH(err, fail, list, finish); + DBG(ctx, "lookup install and remove commands %s\n", alias); err = kmod_lookup_alias_from_commands(ctx, alias, list); CHECK_ERR_AND_FINISH(err, fail, list, finish); + DBG(ctx, "lookup modules.aliases %s\n", alias); err = kmod_lookup_alias_from_aliases_file(ctx, alias, list); CHECK_ERR_AND_FINISH(err, fail, list, finish); finish: - + DBG(ctx, "lookup %s=%d, list=%p\n", alias, err, *list); return err; fail: + DBG(ctx, "Failed to lookup %s\n", alias); kmod_module_unref_list(*list); *list = NULL; return err; -- 2.7.4