]> git.ipfire.org Git - thirdparty/kmod.git/blobdiff - TODO
depmod: prevent module dependency files missing during depmod invocation
[thirdparty/kmod.git] / TODO
diff --git a/TODO b/TODO
index e3f81d144a91033967440335b1e73a3d4e967889..3fe06ebe17346f9501819490812b4c132403b47b 100644 (file)
--- a/TODO
+++ b/TODO
@@ -13,6 +13,7 @@ Features:
 
 * testsuite:
    - when fake delete_module() succeeds, remove its entry from /sys/module
+   - improve coverage (use --enable-coverage to check the current state)
 
 * Stop using system() inside the library and use fork + exec instead
 
@@ -20,6 +21,9 @@ Features:
   vector instead of a list. This way we could search in it by calling
   bsearch().
 
+* config: implement the config handling in shared/ and use it in both depmod
+and libkmod
+
 * review API, maybe unify all of these getters:
    - kmod_module_version_get_symbol()
    - kmod_module_version_get_crc()
@@ -31,12 +35,20 @@ Features:
    - kmod_module_symbols_free_list()
    - kmod_module_dependency_symbols_free_list()
 
+* libkmod API breaking changes:
+   - dedicated error value for all kmod_*_get_crc() functions. Currently there
+     is no way for callers to distinguish between a valid CRC=0 and the error
+     code 0.
+
 * 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.
+  Another possibility is to drop the mmap implementation relying on VFS to have
+  the pages cached. This would simplify the interface exported by libkmod.
+  Measure performance before deciding.
 
-* Finish removal of "rmmod -w" when it's gone from kernel.
-
-* Deprecate not using KMOD_REMOVE_NOWAIT on libkmod.
+* depmod:
+   - join functions for text/binary outputs
+   - use new O_TMPFILE for tmp file creation
 
 Things to be added/removed in kernel (check what is really needed):
 ===================================================================
@@ -47,54 +59,3 @@ Things to be added/removed in kernel (check what is really needed):
 
 * kill /proc/modules ?
        - Unlikely, given other tools might depend on it
-
-
-
-Things that are different from module-init-tools on purpose (!TODO)
-===================================================================
-
-modprobe
---------
-
-* 'modprobe -l' was marked as deprecated and does not exist anymore
-
-* 'modprobe -t' is gone, together with 'modprobe -l'
-
-* there's and additional '--remove-dependencies' flags to modprobe so we
-  can remove modules depending on that one
-
-* modprobe doesn't parse configuration files with names not ending in
-  '.alias' or '.conf'. modprobe used to warn about these files.
-
-* modprobe doesn't parse 'config' and 'include' commands in configuration
-  files.
-
-* modprobe from m-i-t does not honour softdeps for install commands. E.g.:
-  config:
-
-        install bli "echo bli"
-       install bla "echo bla"
-       softdep bla pre: bli
-
-  With m-i-t, the output of 'modprobe --show-depends bla' will be:
-        install "echo bla"
-
-  While with kmod:
-        install "echo bli"
-        install "echo bla"
-
-* kmod doesn't dump the configuration as is in the config files. Instead it
-  dumps the configuration as it was parsed. Therefore, comments and file names
-  are not dumped, but on the good side we know what the exact configuration
-  kmod is using. We did this because if we only want to know the entire content
-  of configuration files, it's enough to use find(1) in modprobe.d directories
-
-depmod
-------
-
-* there's no 'depmod -m' option: legacy modules.*map files are gone
-
-lsmod
------
-
-* information is parsed from /sys instead of /proc/modules