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

Reply via email to