|
The libcephfs proxy is composed by a new daemon process (libcephfsd) and
a new library (libcephfs_proxy.so) that allow client applications to
work without directly connecting to the libcephfs.so library.
The libcephfs_proxy.so library exports binary compatible versions of the
libcephfs.so functions. These functions forward the application requests
to the libcephfsd daemon running on the same machine through a UNIX
socket. The daemon, which is linked to the real libcephfs.so library,
executes the incoming requests and sends back the answers.
The client application doesn't need to be modified to use the proxy. It
just needs to link against libcephfs_proxy.so instead of libcephfs.so,
or even use LD_PRELOAD when executing it.
The main advantage of using the proxy is that all ceph mounts are
managed in a single place (the libcephfsd daemon), which will help
reduce memory usage when many processes are connecting to the same Ceph
volumes using the same configuration.
Signed-off-by: Xavi Hernandez <xhernandez@gmail.com>
|