There was 30% regression observed in mkdir path with commit b139bc58eb504adf5ef81658896c9283ae21f390. On analysis it is found that io-threads xlator deprioritzes fops with all -ve pid. Some context in to the no-root-squash pid requirement: DHT xlator does some of the internal fops with root privileges. This is needed so that operations like layout healing should not be abandoned because a non root user is operating. If root-squash option is enabled the layout set operation looses its root privilege as server xlator converts the uid and pid to random numbers. Hence, the above mentioned commit converted pid to GF_CLIENT_PID_NO_ROOT_SQUASH to continue fops as root. Combining the above I am proposing not to deprioritize fops with no-root-squash pid. > Change-Id: I54d056c01b25729304a77f9242fbaff39c5672ba > fixes: bz#1676430 > Signed-off-by: Susant Palai <spalai@redhat.com> (cherry picked from commit f5c3b1727f55ffaa3dcdb3c3a09b968ebb45dbb2) Change-Id: I54d056c01b25729304a77f9242fbaff39c5672ba fixes: bz#1676429 Signed-off-by: Susant Palai <spalai@redhat.com>
Gluster
Gluster is a software defined distributed storage that can scale to several petabytes. It provides interfaces for object, block and file storage.
Development
Contributions to gluster in the form of patches and new feature additions can be made by following steps outlined at Developers Guide.
Documentation
The Gluster documentation can be found at Gluster Docs.
Deployment
Quick instructions to build and install can be found in INSTALL file.
Testing
GlusterFS source contains some functional tests under tests/
directory. All
these tests are run against every patch submitted for review. If you want your
patch to be tested, please add a .t
test file as part of your patch submission.
You can also submit a patch to only add a .t
file for the test case you are
aware of.
To run these tests, on your test-machine, just run ./run-tests.sh
. Don't run
this on a machine where you have 'production' glusterfs is running, as it would
blindly kill all gluster processes in each runs.
If you are sending a patch, and want to validate one or few specific tests, then run a single test by running the below command.
bash# /bin/bash ${path_to_gluster}/tests/basic/rpc-coverage.t
You can also use prove
tool if available in your machine, as follows.
bash# prove -vmfe '/bin/bash' ${path_to_gluster}/tests/basic/rpc-coverage.t
Maintainers
The list of Gluster maintainers is available in MAINTAINERS file.
License
Gluster is dual licensed under GPLV2 and LGPLV3+.
Please visit the Gluster Home Page to find out more about Gluster.