diff options
author | Jeff Darcy <jdarcy@fb.com> | 2017-09-15 06:59:01 -0700 |
---|---|---|
committer | Jeff Darcy <jdarcy@fb.com> | 2017-09-15 13:47:01 -0700 |
commit | 8dfdecf220d1c9365e1f8d6af9ead5e48c61e2eb (patch) | |
tree | bccd5906be43cf81792248b06099006525ed0c27 /libglusterfs/src/common-utils.c | |
parent | e4b47b5d54644c398c424a99116a0cc37e4431d6 (diff) |
Replace namespace/io-stats/io-threads with 3.6-fb versions
This rolls up multiple patches related to namespace identificaton and
throttling/QoS. This primarily includes the following, all by Michael
Goulet <mgoulet@fb.com>.
io-threads: Add weighted round robin queueing by namespace
https://phabricator.facebook.com/D5615269
io-threads: Add per-namespaces queue sizes to IO_THREADS_QUEUE_SIZE_KEY
https://phabricator.facebook.com/D5683162
io-threads: Implement better slot allocation algorithm
https://phabricator.facebook.com/D5683186
io-threads: Only enable weighted queueing on bricks
https://phabricator.facebook.com/D5700062
io-threads: Update queue sizes on drain
https://phabricator.facebook.com/D5704832
Fix parsing (-1) as default NS weight
https://phabricator.facebook.com/D5723383
Parts of the following patches have also been applied to satisfy
dependencies.
io-throttling: Calculate moving averages and throttle offending hosts
https://phabricator.fb.com/D2516161
Shreyas Siravara <sshreyas@fb.com>
Hook up ODS logging for FUSE clients.
https://phabricator.facebook.com/D3963376
Kevin Vigor <kvigor@fb.com>
Add the flag --skip-nfsd-start to skip the NFS daemon stating, even if
it is enabled
https://phabricator.facebook.com/D4575368
Alex Lorca <alexlorca@fb.com>
There are also some "standard" changes: dealing with code that moved,
reindenting to comply with Gluster coding standards, gf_uuid_xxx, etc.
This patch *does* revert some changes which have occurred upstream since
3.6; these will be re-applied as apppropriate on top of this new base.
Change-Id: I69024115da7a60811e5b86beae781d602bdb558d
Signed-off-by: Jeff Darcy <jdarcy@fb.com>
Diffstat (limited to 'libglusterfs/src/common-utils.c')
-rw-r--r-- | libglusterfs/src/common-utils.c | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c index 84a0785d660..62c41a767d0 100644 --- a/libglusterfs/src/common-utils.c +++ b/libglusterfs/src/common-utils.c @@ -4349,9 +4349,11 @@ list_node_del (struct list_node *node) GF_FREE (node); } -const char * -fop_enum_to_pri_string (glusterfs_fop_t fop) +iot_pri_t +iot_fop_to_pri (glusterfs_fop_t fop) { + iot_pri_t pri = IOT_PRI_MAX - 1; + switch (fop) { case GF_FOP_OPEN: case GF_FOP_STAT: @@ -4365,7 +4367,8 @@ fop_enum_to_pri_string (glusterfs_fop_t fop) case GF_FOP_READDIRP: case GF_FOP_GETACTIVELK: case GF_FOP_SETACTIVELK: - return "HIGH"; + pri = IOT_PRI_HI; + break; case GF_FOP_CREATE: case GF_FOP_FLUSH: @@ -4391,7 +4394,8 @@ fop_enum_to_pri_string (glusterfs_fop_t fop) case GF_FOP_FREMOVEXATTR: case GF_FOP_IPC: case GF_FOP_LEASE: - return "NORMAL"; + pri = IOT_PRI_NORMAL; + break; case GF_FOP_READ: case GF_FOP_WRITE: @@ -4402,22 +4406,26 @@ fop_enum_to_pri_string (glusterfs_fop_t fop) case GF_FOP_XATTROP: case GF_FOP_FXATTROP: case GF_FOP_RCHECKSUM: + case GF_FOP_FALLOCATE: + case GF_FOP_DISCARD: case GF_FOP_ZEROFILL: - case GF_FOP_FALLOCATE: case GF_FOP_SEEK: - return "LOW"; + pri = IOT_PRI_LO; + break; case GF_FOP_NULL: case GF_FOP_FORGET: case GF_FOP_RELEASE: case GF_FOP_RELEASEDIR: case GF_FOP_GETSPEC: + case GF_FOP_COMPOUND: case GF_FOP_MAXVALUE: - case GF_FOP_DISCARD: - return "LEAST"; - default: - return "UNKNOWN"; + //fail compilation on missing fop + //new fop must choose priority. + break; } + + return pri; } const char * |