depmod: Add better error messages when facing loops
authorLucas De Marchi <lucas.demarchi@intel.com>
Fri, 30 May 2014 12:38:26 +0000 (09:38 -0300)
committerLucas De Marchi <lucas.demarchi@intel.com>
Fri, 30 May 2014 12:43:30 +0000 (09:43 -0300)
commitc89d219884e3b5d9faa7052175964cc4a6a59dfa
tree82a0a4b2b5d545c717dfd39a62f20f2757493323
parent8183cfa9dac9216e4f50b2fb33a22ae0eac233e9
depmod: Add better error messages when facing loops

Since now depmod fails when there are module loops, let's at least give
better error messages, printing the loops we found. Since we may have
more than 1 loop, just printing the modules that are in loop is not
very clear.

Assuming as an example 2 independent loops, this is how the new messages
compare to the old ones:

Before:
depmod: ERROR: Found 5 modules in dependency cycles!
depmod: ERROR: /tmp/test-kmod//lib/modules/3.14.4-1-ARCH/kernel/moduleE.ko in dependency cycle!
depmod: ERROR: /tmp/test-kmod//lib/modules/3.14.4-1-ARCH/kernel/moduleB.ko in dependency cycle!
depmod: ERROR: /tmp/test-kmod//lib/modules/3.14.4-1-ARCH/kernel/moduleC.ko in dependency cycle!
depmod: ERROR: /tmp/test-kmod//lib/modules/3.14.4-1-ARCH/kernel/moduleD.ko in dependency cycle!
depmod: ERROR: /tmp/test-kmod//lib/modules/3.14.4-1-ARCH/kernel/moduleA.ko in dependency cycle!

After:
depmod: ERROR: Found 5 modules in dependency cycles!
depmod: ERROR: Cycle detected: moduleE -> moduleD -> moduleE
depmod: ERROR: Cycle detected: moduleB -> moduleC -> moduleA -> moduleB
tools/depmod.c