diff options
Diffstat (limited to 'libglusterfs/src/xlator.c')
| -rw-r--r-- | libglusterfs/src/xlator.c | 18 | 
1 files changed, 18 insertions, 0 deletions
diff --git a/libglusterfs/src/xlator.c b/libglusterfs/src/xlator.c index 3fb6eeebb09..9bde4fa8f6c 100644 --- a/libglusterfs/src/xlator.c +++ b/libglusterfs/src/xlator.c @@ -322,6 +322,24 @@ out:  } +void +xlator_foreach_depth_first (xlator_t *this, +			    void (*fn)(xlator_t *each, void *data), +			    void *data) +{ +	xlator_list_t *subv = NULL; + +	subv = this->children; + +	while (subv) { +		xlator_foreach_depth_first (subv->xlator, fn, data); +		subv = subv->next; +	} + +	fn (this, data); +} + +  xlator_t *  xlator_search_by_name (xlator_t *any, const char *name)  {  | 
