summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/afr/src/afr.h
diff options
context:
space:
mode:
authorPranith Kumar K <pranithk@gluster.com>2011-07-18 12:30:17 +0530
committerVijay Bellur <vijay@gluster.com>2011-10-17 06:13:56 -0700
commitab2b2fefdcb10aa29749190b9e908b3bc81d86e5 (patch)
treed028703a64e86a9be31ec81f4c5ef4e7465817ee /xlators/cluster/afr/src/afr.h
parent57abdb20ade542e9f57461ec953dad8ca93b23c7 (diff)
cluster/afr: Handle lookups when self-heal is off
Change-Id: Ibc23fef417bcf613850e03dc4dadcc88f89e2b6f BUG: 2586 Reviewed-on: http://review.gluster.com/59 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'xlators/cluster/afr/src/afr.h')
-rw-r--r--xlators/cluster/afr/src/afr.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/xlators/cluster/afr/src/afr.h b/xlators/cluster/afr/src/afr.h
index 6f40ded12..8f7f54faf 100644
--- a/xlators/cluster/afr/src/afr.h
+++ b/xlators/cluster/afr/src/afr.h
@@ -138,6 +138,10 @@ typedef struct {
/* array of xattr's, one for each child */
dict_t **xattr;
+ /* array containing if the lookups succeeded in the order of response
+ */
+ int32_t *child_success;
+ int success_count;
/* array of errno's, one for each child */
int *child_errno;
@@ -341,14 +345,17 @@ typedef struct _afr_local {
struct {
inode_t *inode;
struct iatt buf;
- struct iatt read_child_buf;
struct iatt postparent;
ino_t ino;
uint64_t gen;
ino_t parent_ino;
- dict_t *xattr;
dict_t **xattrs;
- gf_boolean_t is_revalidate;
+ dict_t *xattr;
+ struct iatt *postparents;
+ struct iatt *bufs;
+ int32_t read_child;
+ int32_t *child_success;//in the order of response
+ int32_t *sources;
} lookup;
struct {
@@ -737,6 +744,9 @@ afr_build_parent_loc (loc_t *parent, loc_t *child);
int
afr_up_children_count (int child_count, unsigned char *child_up);
+gf_boolean_t
+afr_is_fresh_lookup (loc_t *loc, xlator_t *this);
+
void
afr_update_loc_gfids (loc_t *loc, struct iatt *buf, struct iatt *postparent);