diff options
author | Amar Tumballi <amar@gluster.com> | 2010-09-28 06:11:07 +0000 |
---|---|---|
committer | Vijay Bellur <vijay@dev.gluster.com> | 2010-09-29 06:17:42 -0700 |
commit | 9406c06522f9e8ef8ee73f6da55937cb1fa04d22 (patch) | |
tree | 97e30c3ba65fe11ecf45b9a88fb8ab1b9f3afc58 /xlators/features/quiesce/src/quiesce.h | |
parent | 3702814c02c0789d8b65b4f096cd0d37947eef3f (diff) |
features/quiesce: new translator
'Quiesce' is used to describe pausing or altering the state of running
processes on a computer
In GlusterFS context, this translator looks for CHILD_DOWN/CHILD_UP
events, and will hold the requests for some time if the child node
is in disconnected state
current timeout is 20seconds, will be made tunable soon
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 1500 (Mount point should not be in-accessible between reconnect to server)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1500
Diffstat (limited to 'xlators/features/quiesce/src/quiesce.h')
-rw-r--r-- | xlators/features/quiesce/src/quiesce.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/xlators/features/quiesce/src/quiesce.h b/xlators/features/quiesce/src/quiesce.h new file mode 100644 index 000000000..2ff7032ef --- /dev/null +++ b/xlators/features/quiesce/src/quiesce.h @@ -0,0 +1,37 @@ +/* + Copyright (c) 2010 Gluster, Inc. <http://www.gluster.com> + This file is part of GlusterFS. + + GlusterFS is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, + or (at your option) any later version. + + GlusterFS is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see + <http://www.gnu.org/licenses/>. +*/ + + +#ifndef __QUIESCE_H__ +#define __QUIESCE_H__ + +#include "quiesce-mem-types.h" +#include "xlator.h" +#include "timer.h" + +typedef struct { + gf_timer_t *timer; + gf_boolean_t pass_through; + gf_lock_t lock; + struct list_head req; + int queue_size; + pthread_t thr; +} quiesce_priv_t; + +#endif |