This is a little odd. yes. I can sort of understand the rationale
behind it, but the result is that it leads to an incorrect result.

I am guessing that the user should decide (using classes) which
hosts should make this check. Bas - do you have any comments?

Jim Wight wrote:
> For example, with this filesystem
> 
>         Filesystem           1K-blocks      Used Available Use% Mounted
>         on
>         /dev/sda2                54444     34174     17459  67% /boot
>         
> and this input file
> 
>         control:
>                 actionsequence = ( required )
>         required:
>                 /boot   freespace=50mb
>         
> cfengine reports
> 
>         Filesystem /boot looks sensible
>         cfengine:gudea: Free space above 51200, defining
>         
> I discovered the problem with 2.1.20, but it's also present in 2.2.1.
> 
> What is happening is that in this section of CheckFreeSpace in do.c
> 
> /* HvB : Bas van der Vlies 
>   if force is specified then skip this check if this 
>   is on the file server.
> */
> if ( disk_ptr->force != 'y' )
>    {
>   if (IsMountedFileSystem(&statbuf,file,1))
>       {
>       return true;
>       }
>    }
> 
> IsMountedFileSystem is true, so the immediately following comparisons of
> the supplied value against the free space, which should be taking place,
> never happen. 
> 
> Jim
> 
> 
> _______________________________________________
> Bug-cfengine mailing list
> [email protected]
> https://cfengine.org/mailman/listinfo/bug-cfengine

-- 
Mark Burgess

Professor of Network and System Administration
Oslo University College

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Work: +47 22453272            Email:  [EMAIL PROTECTED]
Fax : +47 22453205            WWW  :  http://www.iu.hio.no/~mark
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_______________________________________________
Bug-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/bug-cfengine

Reply via email to