Lucas De Marchi | bf89f76 | 2011-12-01 18:23:47 -0200 | [diff] [blame] | 1 | Features: |
Lucas De Marchi | 5e690c5 | 2011-12-16 02:02:58 -0200 | [diff] [blame] | 2 | ========= |
Lucas De Marchi | bf89f76 | 2011-12-01 18:23:47 -0200 | [diff] [blame] | 3 | |
Lucas De Marchi | 681bf89 | 2013-04-23 21:21:00 -0300 | [diff] [blame^] | 4 | * Protect index against OOM |
| 5 | |
Lucas De Marchi | 46939ec | 2013-04-09 20:20:38 -0300 | [diff] [blame] | 6 | * Implement actions in kmod tool like 'insert', 'remove', 'info', etc |
| 7 | |
Lucas De Marchi | 80e54cb | 2012-02-22 13:07:13 -0200 | [diff] [blame] | 8 | * testsuite: |
Lucas De Marchi | 80e54cb | 2012-02-22 13:07:13 -0200 | [diff] [blame] | 9 | - when fake delete_module() succeeds, remove its entry from /sys/module |
Lucas De Marchi | bf89f76 | 2011-12-01 18:23:47 -0200 | [diff] [blame] | 10 | |
Lucas De Marchi | 46939ec | 2013-04-09 20:20:38 -0300 | [diff] [blame] | 11 | * Stop using system() inside the library and use fork + exec instead |
| 12 | |
| 13 | * config: configs that do not need to be matched by fnmatch() could be using a |
| 14 | vector instead of a list. This way we could search in it by calling |
| 15 | bsearch(). |
| 16 | |
Lucas De Marchi | c8c956b | 2012-06-11 12:00:19 -0300 | [diff] [blame] | 17 | * review API, maybe unify all of these getters: |
Gustavo Sverzut Barbieri | 674f859 | 2011-12-20 11:54:53 -0200 | [diff] [blame] | 18 | - kmod_module_version_get_symbol() |
| 19 | - kmod_module_version_get_crc() |
| 20 | - kmod_module_symbol_get_symbol() |
| 21 | - kmod_module_symbol_get_crc() |
| 22 | - kmod_module_dependency_symbol_get_symbol() |
| 23 | - kmod_module_dependency_symbol_get_crc() |
| 24 | - kmod_module_versions_free_list() |
| 25 | - kmod_module_symbols_free_list() |
Lucas De Marchi | 8836ff2 | 2012-11-05 02:04:44 -0200 | [diff] [blame] | 26 | - kmod_module_dependency_symbols_free_list() |
Gustavo Sverzut Barbieri | 674f859 | 2011-12-20 11:54:53 -0200 | [diff] [blame] | 27 | |
Lucas De Marchi | 80e54cb | 2012-02-22 13:07:13 -0200 | [diff] [blame] | 28 | * index: drop the "open(), seek(), read()" implementation and use another one |
| 29 | with mmap(). When lookup() is called and the file is not mmaped, mmap it. |
Lucas De Marchi | 5e690c5 | 2011-12-16 02:02:58 -0200 | [diff] [blame] | 30 | |
Lucas De Marchi | cc83364 | 2012-10-17 18:32:56 -0300 | [diff] [blame] | 31 | * Finish removal of "rmmod -w" when it's gone from kernel. |
| 32 | |
| 33 | * Deprecate not using KMOD_REMOVE_NOWAIT on libkmod. |
Lucas De Marchi | 8447b86 | 2012-08-30 14:10:47 -0300 | [diff] [blame] | 34 | |
Lucas De Marchi | 3af535c | 2011-12-27 17:32:55 -0200 | [diff] [blame] | 35 | Things to be added/removed in kernel (check what is really needed): |
Lucas De Marchi | 5e690c5 | 2011-12-16 02:02:58 -0200 | [diff] [blame] | 36 | =================================================================== |
| 37 | |
| 38 | * list of currently loaded modules |
Lucas De Marchi | 80e54cb | 2012-02-22 13:07:13 -0200 | [diff] [blame] | 39 | - readdir() in /sys/modules: dir without a 'initstate' file means the |
| 40 | module is builtin. |
Lucas De Marchi | 5e690c5 | 2011-12-16 02:02:58 -0200 | [diff] [blame] | 41 | |
Lucas De Marchi | 5e690c5 | 2011-12-16 02:02:58 -0200 | [diff] [blame] | 42 | * kill /proc/modules ? |
Lucas De Marchi | 758428a | 2012-01-16 15:56:17 -0200 | [diff] [blame] | 43 | - Unlikely, given other tools might depend on it |
Lucas De Marchi | 5a96c5f | 2012-01-01 05:47:17 -0200 | [diff] [blame] | 44 | |
Lucas De Marchi | 46939ec | 2013-04-09 20:20:38 -0300 | [diff] [blame] | 45 | |
| 46 | |
Lucas De Marchi | 5a96c5f | 2012-01-01 05:47:17 -0200 | [diff] [blame] | 47 | Things that are different from module-init-tools on purpose (!TODO) |
| 48 | =================================================================== |
| 49 | |
| 50 | modprobe |
| 51 | -------- |
| 52 | |
| 53 | * 'modprobe -l' was marked as deprecated and does not exist anymore |
| 54 | |
| 55 | * 'modprobe -t' is gone, together with 'modprobe -l' |
| 56 | |
Lucas De Marchi | 80e54cb | 2012-02-22 13:07:13 -0200 | [diff] [blame] | 57 | * there's and additional '--remove-dependencies' flags to modprobe so we |
Lucas De Marchi | 5a96c5f | 2012-01-01 05:47:17 -0200 | [diff] [blame] | 58 | can remove modules depending on that one |
| 59 | |
Lucas De Marchi | 80e54cb | 2012-02-22 13:07:13 -0200 | [diff] [blame] | 60 | * modprobe doesn't parse configuration files with names not ending in |
| 61 | '.alias' or '.conf'. modprobe used to warn about these files. |
Lucas De Marchi | 5a96c5f | 2012-01-01 05:47:17 -0200 | [diff] [blame] | 62 | |
Lucas De Marchi | 80e54cb | 2012-02-22 13:07:13 -0200 | [diff] [blame] | 63 | * modprobe doesn't parse 'config' and 'include' commands in configuration |
Lucas De Marchi | 0ad5dd0 | 2012-01-11 00:28:12 -0200 | [diff] [blame] | 64 | files. |
| 65 | |
Lucas De Marchi | f564394 | 2012-01-12 14:45:11 -0200 | [diff] [blame] | 66 | * modprobe from m-i-t does not honour softdeps for install commands. E.g.: |
| 67 | config: |
| 68 | |
| 69 | install bli "echo bli" |
| 70 | install bla "echo bla" |
| 71 | softdep bla pre: bli |
| 72 | |
| 73 | With m-i-t, the output of 'modprobe --show-depends bla' will be: |
| 74 | install "echo bla" |
| 75 | |
| 76 | While with kmod: |
| 77 | install "echo bli" |
| 78 | install "echo bla" |
| 79 | |
Lucas De Marchi | bc43496 | 2012-01-13 02:35:34 -0200 | [diff] [blame] | 80 | * kmod doesn't dump the configuration as is in the config files. Instead it |
| 81 | dumps the configuration as it was parsed. Therefore, comments and file names |
| 82 | are not dumped, but on the good side we know what the exact configuration |
| 83 | kmod is using. We did this because if we only want to know the entire content |
| 84 | of configuration files, it's enough to use find(1) in modprobe.d directories |
| 85 | |
Lucas De Marchi | 5a96c5f | 2012-01-01 05:47:17 -0200 | [diff] [blame] | 86 | depmod |
| 87 | ------ |
| 88 | |
| 89 | * there's no 'depmod -m' option: legacy modules.*map files are gone |
Lucas De Marchi | e85b673 | 2012-01-12 15:28:19 -0200 | [diff] [blame] | 90 | |
| 91 | lsmod |
| 92 | ----- |
| 93 | |
| 94 | * information is parsed from /sys instead of /proc/modules |