mirror of
https://github.com/AuxXxilium/kmod.git
synced 2024-12-03 21:26:55 +07:00
68 lines
2.4 KiB
Plaintext
68 lines
2.4 KiB
Plaintext
Features:
|
|
=========
|
|
|
|
* config: configs that do not need to be matched by fnmatch() could be using a
|
|
vector instead of a list. This way we could search in it by calling
|
|
bsearch().
|
|
|
|
* index: drop the "open(), seek(), read()" implementation and use another one
|
|
with mmap(). When lookup() is called and the file is not mmaped, mmap it.
|
|
|
|
* create test-mock library to be LD_PRELOAD'ed before running the binaries
|
|
so we're able to create unit tests
|
|
|
|
* Add functions to dump configuration. Create a list with the config items
|
|
(blacklist, aliases, etc) or just dump to a fd?
|
|
|
|
* Add functions to list all modules known by modules.dep
|
|
|
|
* provide 1:1 compatibility with module-init-tools's modprobe
|
|
- dump configuration
|
|
- 'modprobe -r' should remove modules which usecount became 0 because of
|
|
module's removal
|
|
|
|
* Add kmod_validate(). It checks if all config files and indexes are still
|
|
valid. We need to save the mtime of each config dir when starting up and when
|
|
this function is called we stat the dir and compare the mtimes.
|
|
|
|
* review API, maybe unify all of these setters:
|
|
- kmod_module_version_get_symbol()
|
|
- kmod_module_version_get_crc()
|
|
- kmod_module_symbol_get_symbol()
|
|
- kmod_module_symbol_get_crc()
|
|
- kmod_module_dependency_symbol_get_symbol()
|
|
- kmod_module_dependency_symbol_get_crc()
|
|
- kmod_module_versions_free_list()
|
|
- kmod_module_symbols_free_list()
|
|
- kmod_module_dependency_symbols_free_list()
|
|
|
|
* provide modules.archive, a cache file with all modules compressed
|
|
and a fast access. It's like a tar.gz, but with each entry
|
|
compressed as opposed to the whole tar compressed, easy to pick
|
|
individual entries, that is, more like .gz.tar. As zlib compression
|
|
does not store the uncompressed file size, this could provide
|
|
it. The file format should be something like:
|
|
MAGIC-ID
|
|
DIRECTORY-ENTRY-SIZE
|
|
DIRECTORY (hash-like format, points to file offset and size)
|
|
ENTRIES (each is a compressed module)
|
|
Helper binary to:
|
|
kmod-archive list
|
|
kmod-archive add path.ko
|
|
kmod-archive rm path.ko
|
|
kmod-archive get path.ko
|
|
kmod-archive exists path.ko
|
|
|
|
Known Bugs:
|
|
===========
|
|
|
|
|
|
Things to be added/removed in kernel (check what is really needed):
|
|
===================================================================
|
|
|
|
* list of currently loaded modules
|
|
|
|
* module's size should be available under /sys
|
|
|
|
* kill /proc/modules ?
|