10
10
* index: drop the "open(), seek(), read()" implementation and use another one
11
11
with mmap(). When lookup() is called and the file is not mmaped, mmap it.
13
* provide a kmod_preload_resources() so configs are parsed and files are mmaped
14
with MAP_POPULATE | MAP_LOCKED. Maybe it's a good idea to have a
15
kmod_unload_resources() too.
17
* kmod_module: create a mempool with live and recently de-allocated modules.
18
This way we don't have to create a new one, parse dependencies and whatnot.
19
Just pick the already created node.
21
* kmod_module: apply blacklist on module lookup. What's best? Return the whole
22
list and provide functions like kmod_module_filter_* or return the list
24
^-- investigate the best API
26
13
* insmod and rmmod with dependency handling. Maybe this should be done by the
27
14
binary, and it's sufficient to return only the lists from lookups.
28
15
^-- investigate the best API
30
* when preloading stuff, give the possibility to preload binary files. We need
31
to create alternative index_search* functions to operate on mmapped files.
32
Then on ctx creation we mmap all the files
34
* kmod_module: calculate fields on demand if not available:
39
* index: check implementations in order to allocate less stuff. There some
40
malloc()s that could be avoided
17
* create test-mock library to be LD_PRELOAD'ed before running the binaries
18
so we're able to create unit tests
20
* provide ELF manipulation to implement modinfo
22
* provide 1:1 compatibility with module-init-tools's modprobe, missing:
23
- parse options from kernel command line (modname.opt=val)
25
- show modversions (needs elf manipulation)
26
- show config (list all known options, install, remove, softdep...)
27
- show list (lists all modules known by modules.dep)
28
- return install/remove commands for non-modules:
29
install nonexistentmodule somecommand
30
modprobe nonexistentmodule -> runs somecommand