diff options
author | Vijay Bellur <vijay@gluster.com> | 2010-08-06 05:25:16 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2010-08-06 04:09:03 -0700 |
commit | 453cb4bf0b70c876eb468def34054095cfd66359 (patch) | |
tree | 46593e13f4ceb37a4d13a5f420c300b8860e0aa6 /xlators/mgmt/glusterd/src/glusterd-store.h | |
parent | 3f6e5e670b7c1e30c64f2f11419947bd8982d51b (diff) |
v2[PATCH BUG:1286] glusterd: Regain volume state upon re-start
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 1286 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1286
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-store.h')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-store.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-store.h b/xlators/mgmt/glusterd/src/glusterd-store.h new file mode 100644 index 00000000000..c3be21502af --- /dev/null +++ b/xlators/mgmt/glusterd/src/glusterd-store.h @@ -0,0 +1,90 @@ +/* + Copyright (c) 2006-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 _GLUSTERD_HA_H_ +#define _GLUSTERD_HA_H_ + +#ifndef _CONFIG_H +#define _CONFIG_H +#include "config.h" +#endif + +#include <pthread.h> +#include "uuid.h" + +#include "glusterfs.h" +#include "xlator.h" +#include "logging.h" +#include "call-stub.h" +#include "fd.h" +#include "byte-order.h" +#include "glusterd.h" +#include "rpcsvc.h" + + +#define GLUSTERD_STORE_UUID_KEY "UUID" + +#define GLUSTERD_STORE_KEY_VOL_TYPE "type" +#define GLUSTERD_STORE_KEY_VOL_COUNT "count" +#define GLUSTERD_STORE_KEY_VOL_STATUS "status" +#define GLUSTERD_STORE_KEY_VOL_PORT "port" +#define GLUSTERD_STORE_KEY_VOL_SUB_COUNT "sub_count" +#define GLUSTERD_STORE_KEY_VOL_BRICK "brick" + +#define GLUSTERD_STORE_KEY_BRICK_HOSTNAME "hostname" +#define GLUSTERD_STORE_KEY_BRICK_PATH "path" + +#define glusterd_for_each_entry(entry, dir) \ + do {\ + entry = readdir (dir);\ + while (entry && (!strcmp (entry->d_name, ".") ||\ + !strcmp (entry->d_name, ".."))) {\ + entry = readdir (dir);\ + }\ + } while (0); \ + +int32_t +glusterd_store_create_volume (glusterd_volinfo_t *volinfo); + +int32_t +glusterd_store_delete_volume (glusterd_volinfo_t *volinfo); + +int32_t +glusterd_store_uuid (); + +int32_t +glusterd_store_handle_new (char *path, glusterd_store_handle_t **handle); + +int32_t +glusterd_store_save_value (glusterd_store_handle_t *handle, + char *key, char *value); + +int32_t +glusterd_store_retrieve_value (glusterd_store_handle_t *handle, + char *key, char **value); + +int32_t +glusterd_store_update_volume (glusterd_volinfo_t *volinfo); + +int32_t +glusterd_retrieve_uuid (); + +int32_t +glusterd_restore (); +#endif |