To avoid that the compiler complains when building with `-fno-common`.
Can be reproduced by:
```
> make CFLAGS=-fno-common
...
ld: fuse_overlayfs-direct.o:(.data+0x0): multiple definition of \
`direct_access_ds'; fuse_overlayfs-main.o:(.bss+0x0): \
first defined here
ld: fuse_overlayfs-utils.o:(.bss+0x0): multiple definition of \
`direct_access_ds'; fuse_overlayfs-main.o:(.bss+0x0): \
first defined here
ld: fuse_overlayfs-plugin-manager.o:(.bss+0x0): multiple definition of \
`direct_access_ds'; fuse_overlayfs-main.o:(.bss+0x0): \
first defined here
```
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
Add a simple plugin mechanism that will help to expand fuse-overlayfs
functionalities, in particular it allows to load data from a layer on
demand.
A plugin is loaded into fuse-overlayfs using the option:
-o plugins=path/to/plugin.so:path/to/another/plugin.so
A layer can use a plugin with the syntax:
-o lowerdir=//plugin-name/DATA-FOR-THE-PLUGIN/path
Each time a file/directory is looked up, if a plugin is registered for
a layer, the plugin is first notified about the request.
After the callback is invoked, fuse-overlayfs still expects the data
to be accessible at the specified directory.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>