⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 afr.h

📁 分布式文件系统
💻 H
字号:
/*   Copyright (c) 2007, 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 _AFR_H#define _AFR_H#ifndef _CONFIG_H#define _CONFIG_H#include "config.h"#endif#include "scheduler.h"#include "call-stub.h"/* afr file descriptor structure */typedef struct _afrfd {  char *fdstate;  char *fdsuccess;  int32_t write;  int32_t create;  int32_t rchild;         char *path;           /* pathname */} afrfd_t;typedef struct _afr_selfheal_private {  int32_t error, i;  dir_entry_t *entries;  int32_t label, dents_count;  loc_t *loc;} afr_selfheal_private_t;typedef struct _afr_selfheal {  struct list_head clist;  xlator_t *xl;  inode_t *inode;  struct stat stat;  int32_t repair;  uint32_t version;  uint32_t ctime;  int32_t op_errno;  dict_t *dict;} afr_selfheal_t;typedef struct _afr_local {  int32_t call_count;  int32_t op_ret;  int32_t op_errno;  int32_t size;  int32_t flags;  int32_t latest;  int32_t stat_child;  int32_t rmelem_status;  int32_t child;  uid_t uid, gid;  ino_t ino;  off_t offset;  char *path, *name;  inode_t *inode;  fd_t *fd;  struct list_head *list;  dict_t *ctx;  xlator_list_t *xlnodeptr;  struct timespec *tspec;  struct stat stbuf;  struct flock lock, lockp;  call_stub_t *stub;  afr_selfheal_t *source, *ashptr;  struct stat *statptr;  int32_t shcalled;  call_frame_t *orig_frame;  loc_t *loc, *loc2;  dir_entry_t *entry, *last;;  int32_t count;  xlator_t *lock_node;  int32_t sh_return_error;  afrfd_t *afrfdp;  mode_t mode;  dev_t dev;  afr_selfheal_private_t *asp;  uint32_t latest_ctime, latest_version;  dict_t *latest_xattr;} afr_local_t;typedef struct _afr_statfs_local {  struct statvfs statvfs;  int32_t op_ret, op_errno;  int32_t call_count;  int32_t stat_child;} afr_statfs_local_t;typedef struct _pattern_info {  char *pattern;  int copies;} pattern_info_t;/* afr private structure. initialiazed once per instance of afr initialiazation */typedef struct _afr_private {  xlator_t *lock_node;  int32_t child_count;  int32_t debug;  int32_t self_heal;       /* read as 'self heal required' if self_heal == 1 */  int32_t read_node;  xlator_t **children;     /* array of pointers, to point to xlator_t object of the child nodes */  char *state;  char *xattr_check;} afr_private_t;#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -