diff options
| author | Amar Tumballi <amar@gluster.com> | 2010-09-02 07:26:54 +0000 | 
|---|---|---|
| committer | Vijay Bellur <vijay@dev.gluster.com> | 2010-09-02 06:31:50 -0700 | 
| commit | fed472201fdf17ef57ea9b823b9215a0b3f558ec (patch) | |
| tree | e5c238dc0b2dd6291956728d51410eab566047b4 | |
| parent | ee7f340f73eb2b61d5d1f6b881eede3b39432c9f (diff) | |
cluster/distribute: add option 'use-readdirp' to force readdirp
Signed-off-by: Amar Tumballi <amar@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 1508 (add-brick works but files are not distributed to newly added server)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1508
| -rw-r--r-- | xlators/cluster/dht/src/dht-common.c | 3 | ||||
| -rw-r--r-- | xlators/cluster/dht/src/dht-common.h | 1 | ||||
| -rw-r--r-- | xlators/cluster/dht/src/dht.c | 12 | 
3 files changed, 15 insertions, 1 deletions
diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c index 3b4fe3618..a1b486494 100644 --- a/xlators/cluster/dht/src/dht-common.c +++ b/xlators/cluster/dht/src/dht-common.c @@ -2644,6 +2644,9 @@ dht_readdir (call_frame_t *frame, xlator_t *this, fd_t *fd, size_t size,                  }          } +        if (conf->use_readdirp) +                op = GF_FOP_READDIRP; +          dht_do_readdir (frame, this, fd, size, yoff, op);          return 0;  } diff --git a/xlators/cluster/dht/src/dht-common.h b/xlators/cluster/dht/src/dht-common.h index dfdaf7e86..464832c41 100644 --- a/xlators/cluster/dht/src/dht-common.h +++ b/xlators/cluster/dht/src/dht-common.h @@ -155,6 +155,7 @@ struct dht_conf {          gf_lock_t      layout_lock;          void          *private;     /* Can be used by wrapper xlators over                                         dht */ +        gf_boolean_t   use_readdirp;  };  typedef struct dht_conf dht_conf_t; diff --git a/xlators/cluster/dht/src/dht.c b/xlators/cluster/dht/src/dht.c index 13f382af1..c926a1cf4 100644 --- a/xlators/cluster/dht/src/dht.c +++ b/xlators/cluster/dht/src/dht.c @@ -294,7 +294,14 @@ init (xlator_t *this)                            &temp_str) == 0) {  	        gf_string2boolean (temp_str, &conf->unhashed_sticky_bit);  	} -         + +	conf->use_readdirp = 0; + +	if (dict_get_str (this->options, "use-readdirp", +                          &temp_str) == 0) { +	        gf_string2boolean (temp_str, &conf->use_readdirp); +	} +          conf->disk_unit = 'p';          conf->min_free_disk = 10; @@ -435,5 +442,8 @@ struct volume_options options[] = {          { .key = {"unhashed-sticky-bit"},            .type = GF_OPTION_TYPE_BOOL          }, +        { .key = {"use-readdirp"}, +          .type = GF_OPTION_TYPE_BOOL +        },  	{ .key  = {NULL} },  };  | 
