diff options
Diffstat (limited to 'glusterfsd/src/glusterfsd.h')
| -rw-r--r-- | glusterfsd/src/glusterfsd.h | 180 |
1 files changed, 121 insertions, 59 deletions
diff --git a/glusterfsd/src/glusterfsd.h b/glusterfsd/src/glusterfsd.h index 0d6423ab487..4e1413caa70 100644 --- a/glusterfsd/src/glusterfsd.h +++ b/glusterfsd/src/glusterfsd.h @@ -1,80 +1,142 @@ /* - Copyright (c) 2006-2009 Z RESEARCH, Inc. <http://www.zresearch.com> + Copyright (c) 2006-2012 Red Hat, Inc. <http://www.redhat.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/>. + This file is licensed to you under your choice of the GNU Lesser + General Public License, version 3 or any later version (LGPLv3 or + later), or the GNU General Public License, version 2 (GPLv2), in all + cases as published by the Free Software Foundation. */ - #ifndef __GLUSTERFSD_H__ #define __GLUSTERFSD_H__ -#ifndef _CONFIG_H -#define _CONFIG_H -#include "config.h" -#endif +#include "rpcsvc.h" +#include "glusterd1-xdr.h" -#define DEFAULT_CLIENT_VOLUME_FILE CONFDIR "/glusterfs.vol" -#define DEFAULT_SERVER_VOLUME_FILE CONFDIR "/glusterfsd.vol" -#define DEFAULT_LOG_FILE_DIRECTORY DATADIR "/log/glusterfs" -#define DEFAULT_LOG_LEVEL GF_LOG_NORMAL +#define DEFAULT_GLUSTERD_VOLFILE CONFDIR "/glusterd.vol" +#define DEFAULT_CLIENT_VOLFILE CONFDIR "/glusterfs.vol" +#define DEFAULT_SERVER_VOLFILE CONFDIR "/glusterfsd.vol" -#define DEFAULT_EVENT_POOL_SIZE 16384 +#define DEFAULT_EVENT_POOL_SIZE 16384 -#define ARGP_LOG_LEVEL_NONE_OPTION "NONE" -#define ARGP_LOG_LEVEL_TRACE_OPTION "TRACE" -#define ARGP_LOG_LEVEL_CRITICAL_OPTION "CRITICAL" -#define ARGP_LOG_LEVEL_ERROR_OPTION "ERROR" -#define ARGP_LOG_LEVEL_WARNING_OPTION "WARNING" -#define ARGP_LOG_LEVEL_NORMAL_OPTION "NORMAL" -#define ARGP_LOG_LEVEL_DEBUG_OPTION "DEBUG" +#define ARGP_LOG_LEVEL_NONE_OPTION "NONE" +#define ARGP_LOG_LEVEL_TRACE_OPTION "TRACE" +#define ARGP_LOG_LEVEL_CRITICAL_OPTION "CRITICAL" +#define ARGP_LOG_LEVEL_ERROR_OPTION "ERROR" +#define ARGP_LOG_LEVEL_WARNING_OPTION "WARNING" +#define ARGP_LOG_LEVEL_INFO_OPTION "INFO" +#define ARGP_LOG_LEVEL_DEBUG_OPTION "DEBUG" -#define ENABLE_NO_DAEMON_MODE 1 -#define ENABLE_DEBUG_MODE 1 +#define ENABLE_NO_DAEMON_MODE 1 +#define ENABLE_DEBUG_MODE 1 -#define ZR_XLATOR_FUSE "mount/fuse" -#define ZR_MOUNTPOINT_OPT "mountpoint" -#define ZR_ATTR_TIMEOUT_OPT "attribute-timeout" -#define ZR_ENTRY_TIMEOUT_OPT "entry-timeout" -#define ZR_DIRECT_IO_OPT "direct-io-mode" -#define ZR_STRICT_VOLFILE_CHECK "strict-volfile-check" +#define GF_MEMPOOL_COUNT_OF_DICT_T 4096 +/* Considering 4 key/value pairs in a dictionary on an average */ +#define GF_MEMPOOL_COUNT_OF_DATA_T (GF_MEMPOOL_COUNT_OF_DICT_T * 4) +#define GF_MEMPOOL_COUNT_OF_DATA_PAIR_T (GF_MEMPOOL_COUNT_OF_DICT_T * 4) + +#define GF_MEMPOOL_COUNT_OF_LRU_BUF_T 256 enum argp_option_keys { - ARGP_VOLFILE_SERVER_KEY = 's', - ARGP_VOLUME_FILE_KEY = 'f', - ARGP_LOG_LEVEL_KEY = 'L', - ARGP_LOG_FILE_KEY = 'l', - ARGP_VOLFILE_SERVER_PORT_KEY = 131, - ARGP_VOLFILE_SERVER_TRANSPORT_KEY = 132, - ARGP_PID_FILE_KEY = 'p', - ARGP_NO_DAEMON_KEY = 'N', - ARGP_RUN_ID_KEY = 'r', - ARGP_DEBUG_KEY = 133, - ARGP_DISABLE_DIRECT_IO_MODE_KEY = 134, - ARGP_ENTRY_TIMEOUT_KEY = 135, - ARGP_ATTRIBUTE_TIMEOUT_KEY = 136, - ARGP_VOLUME_NAME_KEY = 137, - ARGP_XLATOR_OPTION_KEY = 138, + ARGP_VOLFILE_SERVER_KEY = 's', + ARGP_VOLUME_FILE_KEY = 'f', + ARGP_LOG_LEVEL_KEY = 'L', + ARGP_LOG_FILE_KEY = 'l', + ARGP_VOLFILE_SERVER_PORT_KEY = 131, + ARGP_VOLFILE_SERVER_TRANSPORT_KEY = 132, + ARGP_PID_FILE_KEY = 'p', + ARGP_SOCK_FILE_KEY = 'S', + ARGP_NO_DAEMON_KEY = 'N', + ARGP_RUN_ID_KEY = 'r', + ARGP_PRINT_NETGROUPS = 'n', + ARGP_PRINT_EXPORTS = 'e', + ARGP_DEBUG_KEY = 133, + ARGP_NEGATIVE_TIMEOUT_KEY = 134, + ARGP_ENTRY_TIMEOUT_KEY = 135, + ARGP_ATTRIBUTE_TIMEOUT_KEY = 136, + ARGP_VOLUME_NAME_KEY = 137, + ARGP_XLATOR_OPTION_KEY = 138, + ARGP_DIRECT_IO_MODE_KEY = 139, #ifdef GF_DARWIN_HOST_OS - ARGP_NON_LOCAL_KEY = 139, + ARGP_NON_LOCAL_KEY = 140, #endif /* DARWIN */ - ARGP_VOLFILE_ID_KEY = 143, - ARGP_VOLFILE_CHECK_KEY = 144, + ARGP_VOLFILE_ID_KEY = 143, + ARGP_VOLFILE_CHECK_KEY = 144, + ARGP_VOLFILE_MAX_FETCH_ATTEMPTS = 145, + ARGP_LOG_SERVER_KEY = 146, + ARGP_LOG_SERVER_PORT_KEY = 147, + ARGP_READ_ONLY_KEY = 148, + ARGP_MAC_COMPAT_KEY = 149, + ARGP_DUMP_FUSE_KEY = 150, + ARGP_BRICK_NAME_KEY = 151, + ARGP_BRICK_PORT_KEY = 152, + ARGP_CLIENT_PID_KEY = 153, + ARGP_ACL_KEY = 154, + ARGP_WORM_KEY = 155, + ARGP_USER_MAP_ROOT_KEY = 156, + ARGP_MEM_ACCOUNTING_KEY = 157, + ARGP_SELINUX_KEY = 158, + ARGP_FOPEN_KEEP_CACHE_KEY = 159, + ARGP_GID_TIMEOUT_KEY = 160, + ARGP_FUSE_BACKGROUND_QLEN_KEY = 161, + ARGP_FUSE_CONGESTION_THRESHOLD_KEY = 162, + ARGP_INODE32_KEY = 163, + ARGP_FUSE_MOUNTOPTS_KEY = 164, + ARGP_FUSE_USE_READDIRP_KEY = 165, + ARGP_AUX_GFID_MOUNT_KEY = 166, + ARGP_FUSE_NO_ROOT_SQUASH_KEY = 167, + ARGP_LOGGER = 168, + ARGP_LOG_FORMAT = 169, + ARGP_LOG_BUF_SIZE = 170, + ARGP_LOG_FLUSH_TIMEOUT = 171, + ARGP_SECURE_MGMT_KEY = 172, + ARGP_GLOBAL_TIMER_WHEEL = 173, + ARGP_RESOLVE_GIDS_KEY = 174, + ARGP_CAPABILITY_KEY = 175, +#ifdef GF_LINUX_HOST_OS + ARGP_OOM_SCORE_ADJ_KEY = 176, +#endif + ARGP_LOCALTIME_LOGGING_KEY = 177, + ARGP_SUBDIR_MOUNT_KEY = 178, + ARGP_PROCESS_NAME_KEY = 179, + ARGP_FUSE_EVENT_HISTORY_KEY = 180, + ARGP_THIN_CLIENT_KEY = 181, + ARGP_READER_THREAD_COUNT_KEY = 182, + ARGP_PRINT_XLATORDIR_KEY = 183, + ARGP_PRINT_STATEDUMPDIR_KEY = 184, + ARGP_PRINT_LOGDIR_KEY = 185, + ARGP_KERNEL_WRITEBACK_CACHE_KEY = 186, + ARGP_ATTR_TIMES_GRANULARITY_KEY = 187, + ARGP_PRINT_LIBEXECDIR_KEY = 188, + ARGP_FUSE_FLUSH_HANDLE_INTERRUPT_KEY = 189, + ARGP_FUSE_LRU_LIMIT_KEY = 190, + ARGP_FUSE_AUTO_INVAL_KEY = 191, + ARGP_GLOBAL_THREADING_KEY = 192, + ARGP_BRICK_MUX_KEY = 193, + ARGP_FUSE_DEV_EPERM_RATELIMIT_NS_KEY = 194, + ARGP_FUSE_INVALIDATE_LIMIT_KEY = 195, +}; + +struct _gfd_vol_top_priv { + rpcsvc_request_t *req; + gd1_mgmt_brick_op_req xlator_req; + uint32_t blk_count; + uint32_t blk_size; + double throughput; + double time; + int32_t ret; }; +typedef struct _gfd_vol_top_priv gfd_vol_top_priv_t; -/* Moved here from fetch-spec.h */ -FILE *fetch_spec (glusterfs_ctx_t *ctx); +int +glusterfs_mgmt_pmap_signin(glusterfs_ctx_t *ctx); +int +glusterfs_volfile_fetch(glusterfs_ctx_t *ctx); +void +cleanup_and_exit(int signum); +void +xlator_mem_cleanup(xlator_t *this); +extern glusterfs_ctx_t *glusterfsd_ctx; #endif /* __GLUSTERFSD_H__ */ |
