kmodloader: fix and optimize loading of failed modules
1) Restore functionality which was lost in commit
876c7f5b.
Again at boot time kmodloader can load all modules (/etc/modules.d/*)
even if dependency information is completely missing.
This functionality is important in case of hidden dependency (not symbol dependency).
For example, in kernel 4.4.60 is hidden dependency between nf_nat_ipv6 and nf_conntrack_ipv6.
We can't load nf_nat_ipv6 before nf_conntrack_ipv6 and modinfo do not show this dependency.
Two sequential load attempts of nf_nat_ipv6 may not be enough (in my case it's definitely not enough).
nf_nat_ipv4 has a similar problem.
2) Reduce count of attempts to load failed modules.
Now kmodloader try to load failed modules after all others are loaded.
main_loader: Count of failed and successful attempts to load nf_nat_ipv6.ko (kernel 4.4.60) depend on ubox version:
COMMIT FAILED SUCCESSFUL TOTAL
128bc35f 53 1 54
876c7f5b 2 0 2
this 1 1 2
Signed-off-by: Pavel Merzlyakov <pavel.merzlyakov@gmail.com>
Acked-by: Jo-Philipp Wich <jo@mein.io>