forked from profusion/lightmediascanner
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
29 lines (24 loc) · 1.52 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
* Implement SKIPPED report status for lms_check().
* Flag to ignore symbolic links, set by default. Using symlinks may
lead user to scan the same file more than once and also scan media
outside of his library. If one uses realpath() to always have an
unique instance of the file parsed, he still will suffer from media
outside his chosen folders. If to fix this, together with the
previous fix will led to the same situation as ignore symlinks, but
without the check overhead.
* Try to address need of whole path lookup using open(), stat(),
readdir()... by using *at() variants, like openat(), fstatat().
* Provide threaded version of lms_process() and lms_check(), this
helps in multicore setups, where one will read and cache
filesystems while the other will parse files. Study the CPU
affinity implications on this, setting better defaults.
* Evaluate if there is a way to detect if a string is already in
UTF-8, probably it's impossible to know due the broad range of
possible values, but maybe there is a way to give hints for latin,
asian, western european charsets?
* Check/benchmark buffered vs unbuffered IO and possibly use mmap.
There are lots of code in plugin issuing one read(2) syscall for
small things like 4 bytes. Setting a proper buffer size (e.g. setvbuf)
and reading all at once would be better performance-wise. Another option
is to write the common code for handling sigbus and use mmap instead.
Check also whether pread/preadv/readv would be an option for some plugins.