summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/afr/src/afr.h
diff options
context:
space:
mode:
authorVikas Gorur <vikas@gluster.com>2009-11-25 07:51:23 +0000
committerAnand V. Avati <avati@dev.gluster.com>2009-11-25 06:03:39 -0800
commit1bcb009cf65e57117653bbbb5cdf673f9d9142e9 (patch)
treec9e4d4b7f29c1c6498e7b0ae3b010f710ffc081d /xlators/cluster/afr/src/afr.h
parent9806bd1f58d80d158e3cfb6edee40e92ee30c6d7 (diff)
cluster/afr: Do self-heal on unopened fds.
This patch completes the previous patch for self-heal of open fds in replicate. If an fd was never opened on a subvolume, we remember that and do the open after we've done self-heal on that fd. Signed-off-by: Vikas Gorur <vikas@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
Diffstat (limited to 'xlators/cluster/afr/src/afr.h')
-rw-r--r--xlators/cluster/afr/src/afr.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/xlators/cluster/afr/src/afr.h b/xlators/cluster/afr/src/afr.h
index 4de1f28201e..6a1c53ceefa 100644
--- a/xlators/cluster/afr/src/afr.h
+++ b/xlators/cluster/afr/src/afr.h
@@ -261,6 +261,7 @@ typedef struct _afr_local {
struct {
int32_t flags;
+ int32_t wbflags;
} open;
struct {
@@ -534,7 +535,10 @@ typedef struct _afr_local {
typedef struct {
unsigned char *pre_op_done;
+ unsigned char *opened_on; /* which subvolumes the fd is open on */
unsigned char *child_failed;
+ int flags;
+ int32_t wbflags;
uint64_t up_count; /* number of CHILD_UPs this fd has seen */
uint64_t down_count; /* number of CHILD_DOWNs this fd has seen */
} afr_fd_ctx_t;