diff options
author | Vikas Gorur <vikas@gluster.com> | 2009-11-25 07:51:23 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2009-11-25 06:03:39 -0800 |
commit | 1bcb009cf65e57117653bbbb5cdf673f9d9142e9 (patch) | |
tree | c9e4d4b7f29c1c6498e7b0ae3b010f710ffc081d /xlators/cluster/afr/src/afr.h | |
parent | 9806bd1f58d80d158e3cfb6edee40e92ee30c6d7 (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.h | 4 |
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; |