TODO (ideas) :
**************

That file shares several ideas I've had for the project. Feel free to contribute !

Global :
- Provide ready-to-use docker nodes ?
- Provide a FS analysis tool to help optimize fpart/fpsync options ?

Fpart:
- chdir(2) to initial working directory before forking hooks ?
- Implement option -zzzz to list directories only (0-sized) ?
- -E should probably not imply -z (as empty dirs are part of parent dirs' file lists)
- To minimize memory footprint in non-live mode, add a 'checkpoint' capability
  to sort and flush partitions when a memory / file entry count limit is reached
- Add an option to specify that a directory matching a path or a pattern should
  not be split but treated as a file entry
- Add constraints, e.g. : force hardlinks to belong to the same partition
- Improve sort by using, e.g. : http://en.wikipedia.org/wiki/External_sorting
- Display total size in final status
- As a second pass, remove partitions with no file (e.g. option -n with too many
  partitions, special partition #0 for option -s, ...)
- Rework error code (errx(3), perror(3), ...)
- Split fpart_hook() in two parts : fpart_hook_init_env() + forking code
- Use queue(3) ?
- Unit testing

Fpsync:
- Add a 'tar' tool
- Show transmitted data size in final status + SIGINFO handler (see GH issue #24)
- Improve portability (egrep vs grep, ...)
- Colorized / Improved output / Progressbar
- Check if src_dir/ is the same on all workers (using a stat fingerprint)
  and use the same method for dst_dir/ (stop using a witness file)
- Add options to limit total bandwidth / per-syncer load

Autotools:
- Use config.h (for program version, data types, header inclusion,
  build options info [...])
- Add -Wall to CFLAGS when possible (gcc, clang)
