diff options
Diffstat (limited to 'glusterfs-guts/src/glusterfs-guts.h')
| -rw-r--r-- | glusterfs-guts/src/glusterfs-guts.h | 62 | 
1 files changed, 62 insertions, 0 deletions
diff --git a/glusterfs-guts/src/glusterfs-guts.h b/glusterfs-guts/src/glusterfs-guts.h new file mode 100644 index 00000000000..eda1788a9de --- /dev/null +++ b/glusterfs-guts/src/glusterfs-guts.h @@ -0,0 +1,62 @@ +/* +   Copyright (c) 2008 Z RESEARCH, Inc. <http://www.zresearch.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 __GLUSTERFS_GUTS_H +#define __GLUSTERFS_GUTS_H + +#include "xlator.h" +#include "transport.h" +#include "glusterfs.h" +#include "glusterfs-fuse.h" +#include "timer.h" + +#ifdef DEFAULT_LOG_FILE +#undef DEFAULT_LOG_FILE +#endif  + +#define DEFAULT_LOG_FILE   DATADIR"/log/glusterfs/glusterfs-guts.log" + + +typedef struct { +  int32_t threads;   /* number of threads to start in replay mode */ +  char *logfile;     /* logfile path */ +  int32_t loglevel;  /* logging level */ +  char *directory;   /* path to directory containing tio files, when threads > 1 */ +  char *file;        /* path to tio file, when threads == 1 during replay. in trace mode, path to tio output */ +  char *specfile;    /* path to specfile to load translator tree */ +  xlator_t *graph;   /* translator tree after the specfile is loaded */ +  int32_t trace;     /* if trace == 1, glusterfs-guts runs in trace mode, otherwise in replay mode */ +  char *mountpoint;  /* valid only when trace == 1, mounpoint to mount glusterfs */ +} guts_ctx_t; + + +typedef struct { +  struct list_head threads; +  pthread_t pthread; +  xlator_t *tree; +  char *file; +  guts_ctx_t *ctx; +} guts_thread_ctx_t; + +typedef struct {   +  struct list_head threads; +} guts_threads_t; + +int32_t guts_replay (guts_thread_ctx_t *); +int32_t guts_trace (guts_ctx_t *); +#endif  | 
