An XRootD OSS plug-in to overwrite XRootD's base implementation for space usage statistics with information gathered on from file that can be written to from another service, such as the included quota-file-writer
.
To create the shared library plug-in, run make in the "src" directory. For this to work, you have to make
- the XRootD-Headers in your includes-path (CPLUS_INCLUDE_PATH)
- the XRootD-Client library in library-path (Try to use LD_LIBRARY_PATH es rare as possible).
accessible to the build system.
Running 'make' will then create the shared library "LibXrdCustomQutaOss.so"
For further information on the build process, have a look at the Containerfile.
Use the Containerfile with podman to compile the library and package it into a rpm using:
podman build -t customquota .
podman run -v ./rpm:/rpm -it customquota
The el8 rpm will then be stored in your local rpm directory.
This plug-in is loaded by the XRootD server. In order to accomplish this, you need to indicate the server where the plugin lies in the server's configuration file. Configure your lustre mountpoint and the number of seconds until the cache is invalidated.
ofs.osslib /path/to/LibXrdCustomQuotaOss.so
customquota.sourcefile /path/to/sourcefile
When using this plug-in, all high level XRootD usage statistics calls (xrdfs spaceinfo for example) need to be fed into the configured sourcefile from another process.
The CustomQuotaOss plug-in is distributed under the terms of the GNU Lesser Public Licence version 3 (LGPLv3)