Re: Get the empty space on a file system

2008-02-19 Thread Olivier Nicole
  2) knowing the file system from 1), how to check the remaining space
 in the file system?
 
 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).

In my case, I am writing log files, so I would start with removing
older logs to make space for the newer ones.

That is why I refer to know before hand how much space is available,
to allow some cleaning, rather than waiting for a problem.

It seems that statfs is the answer.

Bests,

Olivier
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Get the empty space on a file system

2008-02-18 Thread Heiko Wundram (Beenic)
Am Montag, 18. Februar 2008 11:25:39 schrieb Olivier Nicole:
 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?

man 2 statfs
man 2 statvfs

The former is freebsd-specific, though (AFAIK); the latter is portable (i.e., 
POSIX), but might return garbage (which is also indicated in the man-page for 
it).

-- 
Heiko Wundram
Product  Application Development
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Get the empty space on a file system

2008-02-18 Thread Dominic Fandrey

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).

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]