]>
Commit | Line | Data |
---|---|---|
bf89f76e | 1 | Features: |
5e690c5c | 2 | ========= |
bf89f76e LDM |
3 | |
4 | * config: configs that do not need to be matched by fnmatch() could be using a | |
5 | vector instead of a list. This way we could search in it by calling | |
6 | bsearch(). | |
7 | ||
c3325cfc LDM |
8 | * index: drop the "open(), seek(), read()" implementation and use another one |
9 | with mmap(). When lookup() is called and the file is not mmaped, mmap it. | |
10 | ||
c3d0a5f2 | 11 | * create test-mock library to be LD_PRELOAD'ed before running the binaries |
7fe602b6 | 12 | so we're able to create unit tests |
c3d0a5f2 | 13 | |
674f8590 GSB |
14 | * review API, maybe unify all of these setters: |
15 | - kmod_module_version_get_symbol() | |
16 | - kmod_module_version_get_crc() | |
17 | - kmod_module_symbol_get_symbol() | |
18 | - kmod_module_symbol_get_crc() | |
19 | - kmod_module_dependency_symbol_get_symbol() | |
20 | - kmod_module_dependency_symbol_get_crc() | |
21 | - kmod_module_versions_free_list() | |
22 | - kmod_module_symbols_free_list() | |
23 | - kmod_module_dependency_symbols_free_list() | |
24 | ||
d89d7cb4 LDM |
25 | * unify code from modprobe and libkmod: |
26 | - remove kmod_module_probe_insert() and turn it into | |
27 | kmod_module_probe_get_list(); this way modprobe can use it too | |
28 | ||
f841e63d GSB |
29 | * provide modules.archive, a cache file with all modules compressed |
30 | and a fast access. It's like a tar.gz, but with each entry | |
31 | compressed as opposed to the whole tar compressed, easy to pick | |
32 | individual entries, that is, more like .gz.tar. As zlib compression | |
33 | does not store the uncompressed file size, this could provide | |
34 | it. The file format should be something like: | |
35 | MAGIC-ID | |
36 | DIRECTORY-ENTRY-SIZE | |
37 | DIRECTORY (hash-like format, points to file offset and size) | |
38 | ENTRIES (each is a compressed module) | |
39 | Helper binary to: | |
40 | kmod-archive list | |
41 | kmod-archive add path.ko | |
42 | kmod-archive rm path.ko | |
43 | kmod-archive get path.ko | |
44 | kmod-archive exists path.ko | |
45 | ||
113c66a5 | 46 | Known Bugs: |
5e690c5c LDM |
47 | =========== |
48 | ||
5e690c5c | 49 | |
3af535c9 | 50 | Things to be added/removed in kernel (check what is really needed): |
5e690c5c LDM |
51 | =================================================================== |
52 | ||
53 | * list of currently loaded modules | |
758428a7 LDM |
54 | - readdir() in /sys/modules: dirs without a 'initstate' file mean the |
55 | modules is builtin. | |
5e690c5c LDM |
56 | |
57 | * module's size should be available under /sys | |
758428a7 | 58 | - DONE in 3.3: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=cca3e707301862ca9b9327e6a732463982f8cd1b |
d68ea2ae | 59 | |
5e690c5c | 60 | * kill /proc/modules ? |
758428a7 | 61 | - Unlikely, given other tools might depend on it |
5a96c5f1 LDM |
62 | |
63 | Things that are different from module-init-tools on purpose (!TODO) | |
64 | =================================================================== | |
65 | ||
66 | modprobe | |
67 | -------- | |
68 | ||
69 | * 'modprobe -l' was marked as deprecated and does not exist anymore | |
70 | ||
71 | * 'modprobe -t' is gone, together with 'modprobe -l' | |
72 | ||
73 | * there's and additional '--remove-dependencies' flags to kmod-modprobe so we | |
74 | can remove modules depending on that one | |
75 | ||
76 | * kmod-modprobe doesn't parse configuration files whose name don't end on | |
77 | '.alias' or '.conf'. modprobe used to warn about these files. | |
78 | ||
0ad5dd08 LDM |
79 | * kmod-modprobe doesn't parse 'config' and 'include' commands in configuration |
80 | files. | |
81 | ||
92122614 LDM |
82 | * we don't use <module-dir>/modules.builtin{,.bin} indexes. Instead we rely on |
83 | module appearing on /sys/modules/* without a initstate file to determine if | |
84 | it is builtin. | |
85 | ||
f564394f LDM |
86 | * modprobe from m-i-t does not honour softdeps for install commands. E.g.: |
87 | config: | |
88 | ||
89 | install bli "echo bli" | |
90 | install bla "echo bla" | |
91 | softdep bla pre: bli | |
92 | ||
93 | With m-i-t, the output of 'modprobe --show-depends bla' will be: | |
94 | install "echo bla" | |
95 | ||
96 | While with kmod: | |
97 | install "echo bli" | |
98 | install "echo bla" | |
99 | ||
bc43496a LDM |
100 | * kmod doesn't dump the configuration as is in the config files. Instead it |
101 | dumps the configuration as it was parsed. Therefore, comments and file names | |
102 | are not dumped, but on the good side we know what the exact configuration | |
103 | kmod is using. We did this because if we only want to know the entire content | |
104 | of configuration files, it's enough to use find(1) in modprobe.d directories | |
105 | ||
5a96c5f1 LDM |
106 | depmod |
107 | ------ | |
108 | ||
109 | * there's no 'depmod -m' option: legacy modules.*map files are gone | |
e85b6731 LDM |
110 | |
111 | lsmod | |
112 | ----- | |
113 | ||
114 | * information is parsed from /sys instead of /proc/modules |