summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/afr/src/afr-self-heal-algorithm.h
diff options
context:
space:
mode:
authorVikas Gorur <vikas@gluster.com>2009-10-15 04:48:09 +0000
committerAnand V. Avati <avati@dev.gluster.com>2009-10-23 07:03:12 -0700
commit00d2fafa1bcab7758aa20741a20fb4ea38b9a8ff (patch)
tree20754e41c3fe40fff4e3ecc0369ca0dd0812c2f9 /xlators/cluster/afr/src/afr-self-heal-algorithm.h
parent58efcf03a63324b7bbfda864647d35256917058a (diff)
cluster/afr: Pipeline the "full" data self-heal read-write loop.
Start upto "data-self-heal-window-size" instances of the read-write loop of the "full" data self-heal algorithm simultaneously. Add a new option "data-self-heal-window-size" with range [1-1024], and a default value of 16. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 320 (Improve self-heal performance) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=320
Diffstat (limited to 'xlators/cluster/afr/src/afr-self-heal-algorithm.h')
-rw-r--r--xlators/cluster/afr/src/afr-self-heal-algorithm.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/xlators/cluster/afr/src/afr-self-heal-algorithm.h b/xlators/cluster/afr/src/afr-self-heal-algorithm.h
index 8552b19d0..844d510c6 100644
--- a/xlators/cluster/afr/src/afr-self-heal-algorithm.h
+++ b/xlators/cluster/afr/src/afr-self-heal-algorithm.h
@@ -32,6 +32,12 @@ struct afr_sh_algorithm {
struct afr_sh_algorithm afr_self_heal_algorithms[3];
typedef struct {
+ gf_lock_t lock;
+ unsigned int loops_running;
+ off_t offset;
+} afr_sh_algo_full_private_t;
+
+typedef struct {
uint8_t *checksum; /* array of MD5 checksums for each child
Each checksum is MD5_DIGEST_LEN bytes long */