Gilad, the code seems not very clean to me. One would have to check whether it is more efficient to first stat the directory.
Just to be sure: this also happens with 3.0.2 and before? Thanks Martin --- Gilad Raphaelli <[EMAIL PROTECTED]> wrote: > Bernard, > > The failed directories are the ones to hold the rrds for each > individual host like 'ganglia/grid/rrds/cluster/host/' and > 'ganglia/grid/rrds/cluster/__SummaryInfo__/' > > This seems normal based on rrd_helpers.c where: > > my_mkdir ( const char *dir ) > { > pthread_mutex_lock( &rrd_mutex ); > if ( mkdir ( dir, 0755 ) < 0 && errno != EEXIST) > { > pthread_mutex_unlock(&rrd_mutex); > err_sys("Unable to mkdir(%s)",dir); > } > pthread_mutex_unlock( &rrd_mutex ); > } > > I assume that this is more efficient then checking for directory > existence and then conditionally creating it. A smaller setup on the > same box also has the 'gmetad RET mkdir -1 errno 17 File exists' > in ktrace but not on scale where it is noticeable. > > Please let me know if you would like any additional information. > > Gil > ------------------------------------------------------ Martin Knoblauch email: k n o b i AT knobisoft DOT de www: http://www.knobisoft.de