Get the empty space on a file system

Dominic Fandrey kamikaze at
Mon Feb 18 10:35:39 UTC 2008

Olivier Nicole wrote:
> Hi,
> I am writing a C application that would store files in a directory.
> Before it starts storing files, I would like the application to check
> is there is enough space in the file system.
> How to:
> 1) knowing the name of the directory, how toknow the file system it
>    belongs to (not considering symbolic links, I can decide that the
>    directory is always a real path);
> 2) knowing the file system from 1), how to check the remaining space
>    in the file system?
> Thanks in advance,
> olivier

You normally just start writing and deal with the errors that come from full 
file systems when they show up. The C functions set errno accordingly.

The reason is that the system lies about the remainig space. Weather there 
is any space left you may use, depends on the user you're running your 
program as. It would be kinda stupid if your program didn't work because the 
disk was full, even when you're running as root and are permitted to use the 
remaining safety space (8% by default).

More information about the freebsd-questions mailing list