Go to file
Susant Palai 8444c1ea54 io-threads: Prioritize fops with NO_ROOT_SQUASH pid
There was 30% regression observed in mkdir path with commit
b139bc58eb. 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>
2019-03-06 03:16:53 +00:00
.github doc: describe how to contribute when a GitHub Pull-Request is made 2018-01-30 15:05:55 +00:00
api Updating the glfs_setattr and glfs_fsetattr public APIs to use glfs_stat 2019-02-28 12:00:30 +05:30
build-aux checkpatch.pl: fix the perl warning 2018-07-06 08:12:56 +00:00
cli socket: socket event handlers now return void 2019-03-02 11:54:24 +00:00
contrib timer-wheel: run the timer function outside of locked region 2019-01-09 02:53:27 +00:00
doc fuse: reflect the actual default for lru-limit option 2019-02-25 15:26:08 +00:00
events eventsapi: Fix Python3 compatibility issues 2019-02-26 14:11:41 +00:00
extras build: include gluster/__init__.* files for python packaging 2019-02-25 11:16:43 +00:00
geo-replication eventsapi: Fix Python3 compatibility issues 2019-02-26 14:11:41 +00:00
glusterfsd glusterfsd: Do not process PROFILE_NFS_INFO if graph is not ready 2019-03-04 03:38:08 +00:00
heal libglusterfs: Move devel headers under glusterfs directory 2018-12-05 21:47:04 +00:00
libglusterfs socket: socket event handlers now return void 2019-03-02 11:54:24 +00:00
rpc socket: socket event handlers now return void 2019-03-02 11:54:24 +00:00
tests Bump up timeout for tests on AWS 2019-02-07 13:27:53 +05:30
tools glusterfind: revert shebangs to #!/usr/bin/python3 2019-03-02 11:54:35 +00:00
xlators io-threads: Prioritize fops with NO_ROOT_SQUASH pid 2019-03-06 03:16:53 +00:00
.clang-format clang-format: add the config file 2018-09-12 11:48:34 +00:00
.gitignore clang-format: add the config file 2018-09-12 11:48:34 +00:00
.mailmap mailmap: add mailmap entry for potatogim 2017-11-16 15:43:24 +00:00
.testignore logrotate: utilize the new 'maxsize' option 2018-09-19 03:29:59 +00:00
AUTHORS cleaned up some outdated files 2010-03-12 04:09:34 -08:00
autogen.sh configure.ac: fix option to stop automake aborting on pointless error 2018-12-04 12:06:50 -05:00
ChangeLog Fixed build problems for init script installation. 2009-03-09 17:45:56 +05:30
COMMITMENT add COMMITMENT file as part of GPL cure 2018-05-25 08:40:13 +00:00
configure.ac build: include gluster/__init__.* files for python packaging 2019-02-25 11:16:43 +00:00
CONTRIBUTING rfc.sh: set 'Change-Id: ' header on first run 2012-08-15 10:39:43 -07:00
COPYING-GPLV2 license: dual license under GPLV2 and LGPLV3+ 2012-05-10 22:06:16 -07:00
COPYING-LGPLV3 license: dual license under GPLV2 and LGPLV3+ 2012-05-10 22:06:16 -07:00
glusterfs-api.pc.in copy_file_range support in GlusterFS 2018-12-12 15:56:55 +00:00
glusterfs.spec.in eventsapi: Fix Python3 compatibility issues 2019-02-26 14:11:41 +00:00
INSTALL Use the new URL for the docs 2017-09-07 11:42:08 +00:00
libgfchangelog.pc.in copy_file_range support in GlusterFS 2018-12-12 15:56:55 +00:00
libgfdb.pc.in *.pc: Fix include path in Cflags 2017-11-08 11:10:44 +00:00
MAINTAINERS glupy: remove from the build 2018-11-08 02:46:48 +00:00
Makefile.am tiering: remove the translator from build and glusterd 2018-11-02 02:39:35 +00:00
NEWS news: note the move to gerrit 2011-07-18 17:24:14 +05:30
README.md README: add a section for giving hints on testing 2018-10-11 05:10:54 +00:00
rfc.sh Update rfc.sh for release-6 2019-02-05 19:59:13 -05:00
run-tests-in-vagrant.sh tests/vagrant: install additional dependencies 2018-06-19 11:50:28 +00:00
run-tests.sh tests: run nfs tests only if --enable-gnfs is provided 2019-01-24 15:18:00 +00:00
site.h.in core: add some examples of site.h usage 2018-01-30 03:51:57 +00:00
submit-for-review.sh rfc.sh: provide a unified way to update bugs or github issues ID 2018-03-22 15:01:38 +00:00
THANKS Typo fix THANKS message 2014-09-16 02:30:36 -07:00

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.