diff options
author | Amar Tumballi <amarts@redhat.com> | 2012-05-25 16:13:41 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-05-31 16:49:53 -0700 |
commit | 67740785050158dad8793f8d0ab6beeb30f99b3f (patch) | |
tree | 941668798e8c201fbff27cdb5b132020bc02f793 /xlators/mgmt/glusterd/src/glusterd-op-sm.c | |
parent | cd88d3db0f48c4354711a606937a2f0b9ba7f87a (diff) |
glusterd-hooks: added support for separate namespace for 'volume set' keys
The keys in the above mentioned namespace could be used by hook
scripts to peform tasks on 'special' keys as defined by the storage
admin. The choice of the key and its semantics of it are outside
the scope of glusterd. It is the responsibility of the storage admin
to keep the meaning of the key(s) consistent.
If a user gives a command like
'gluster volume set <VOLNAME> user.for-this-key do-this"
scripts would get 'user.for-this-key=do-this' as argument.
Change-Id: I5509e17d99e4ddd8bf5df968dcd51ff9a80dc3ab
Signed-off-by: Amar Tumballi <amarts@redhat.com>
BUG: 825902
Reviewed-on: http://review.gluster.com/3443
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Krishnan Parthasarathi <kp@gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-op-sm.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-op-sm.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c index f727a76eb58..9b635f0216f 100644 --- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c @@ -415,6 +415,12 @@ glusterd_op_stage_set_volume (dict_t *dict, char **op_errstr) ret = 0; goto out; } + + if (is_key_glusterd_hooks_friendly (this, volname, key)) { + ret = 0; + goto out; + } + exists = glusterd_check_option_exists (key, &key_fixed); if (exists == -1) { ret = -1; @@ -1106,6 +1112,12 @@ glusterd_op_set_volume (dict_t *dict) &volinfo->memory_accounting); goto out; } + + if (is_key_glusterd_hooks_friendly (this, volname, key)) { + ret = 0; + goto out; + } + ret = glusterd_check_option_exists (key, &key_fixed); GF_ASSERT (ret); if (ret == -1) { |