Get the empty space on a file system
kamikaze at bsdforen.de
Mon Feb 18 10:35:39 UTC 2008
Olivier Nicole wrote:
> 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,
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