Needed to write something to get information from the disks and send it to a web app, so here is the code (the html stuff removed), this should give you the info (works on our AIX servers atleast). Only thing is it does give a slightly higher free space value than df, not certain what is causing it.
Code:
/*
################################################################################
## diskstat.c ##
################################################################################
## diskstat returns (or will soon return to be more precice) webified diskstat for specific disk, should change to ##
## XML'ified info at some point..... ##
################################################################################
*/
#include <sys/statvfs.h>
int main( int argc, char *argv[] )
{
struct statvfs fiData;
struct statvfs *fpData;
char fnPath[128];
int i;
if( argc < 2 ) {
printf("Usage, webdisk DEVICE0 ..... DEVICEX\n");
return(2);
}
//Lets loopyloop through the argvs
for( i = 1 ; i<argc; i++ ) {
strcpy(fnPath, argv[i]);
if((statvfs(fnPath,&fiData)) < 0 ) {
printf("Failed to stat %s:\n", fnPath);
} else {
printf("Disk %s: \n", fnPath);
printf("\tblock size: %u\n", fiData.f_bsize);
printf("\ttotal no blocks: %i\n", fiData.f_blocks);
printf("\tfree blocks: %i\n", fiData.f_bfree);
}
}
}
For the other members of the struct, check sys/statvfs.h.
Just compile and send it the mountpoint of the disk.
So for example ./a.out /
BTW Thanks blowtorch for pointing me in the right direction whith statvls.
I everybody!!
How can i use statvfs() to calculate disk usage and free disk space??
Im using this code:
/* Any file on the filesystem in question */
char *filename = "/home/nesto/test/test.cpp";
struct statvfs buf;
if (!statvfs(filename, &buf)) {
... (1 Reply)
Hello,
I would like to free some space to install gcc with is about 50M large, and I have no free space on my system. What can I delete?
Filesystem 1024-blocks Used Free %Used Iused Ifree %Iused Mounted on
/dev/hd4 262144 145436 116708 56% 7981 ... (10 Replies)
I'm getting ready to start a LU from Sol 9 to Solaris 10. I want to ensure that I have enough disk space for future upgrades. What I don't know is what free space Solaris requires.
If I have 10GB of free space in /opt, will Solaris 10 use that for a LU?
Or, do I need to allocate 10GB of space... (5 Replies)
Hello Good morning all,
Am not understanding the size of subdisk & group(length &offset).how we need to calculate this? Can anyone suggest me ?
Thanks,
Gowtham
---------- Post updated at 12:48 PM ---------- Previous update was at 08:30 AM ----------
I got the answer ... if want the... (0 Replies)
Hi,
I would like to create the new file system(mount point) in our unix server.
before that i would like to know the total free space available in /home directory.
Can you please let me know, how to find free space available for new filesystem?
Be careful with your spelling and... (2 Replies)
Version: Solaris 10 (August 2011) on VM
I am kind of new to Solaris.From VM workstation i allocated 35 GB to this Solaris VM's Disk
The disk was named
c1t0d0
Few basic slices for root(8gb), swap(517mb) and /export/home(494mb) were created by the solaris Installer during the... (18 Replies)
Hi,
I need about 500G space in one corporate solaris server.
However, I am not sure which command to use to check this.
There are few volume groups in the server, and I deleted unused, old volume groups to clear some space.
However, now I am not sure how to check the free space itself.
... (2 Replies)
Discussion started by: anaigini45
2 Replies
LEARN ABOUT DEBIAN
explain_statvfs_or_die
explain_statvfs_or_die(3) Library Functions Manual explain_statvfs_or_die(3)NAME
explain_statvfs_or_die - get file system statistics and report errors
SYNOPSIS
#include <libexplain/statvfs.h>
void explain_statvfs_or_die(const char *pathname, struct statvfs *data);
int explain_statvfs_on_error(const char *pathname, struct statvfs *data);
DESCRIPTION
The explain_statvfs_or_die function is used to call the statvfs(2) system call. On failure an explanation will be printed to stderr,
obtained from the explain_statvfs(3) function, and then the process terminates by calling exit(EXIT_FAILURE).
The explain_statvfs_on_error function is used to call the statvfs(2) system call. On failure an explanation will be printed to stderr,
obtained from the explain_statvfs(3) function, but still returns to the caller.
pathname
The pathname, exactly as to be passed to the statvfs(2) system call.
data The data, exactly as to be passed to the statvfs(2) system call.
RETURN VALUE
The explain_statvfs_or_die function only returns on success, see statvfs(2) for more information. On failure, prints an explanation and
exits, it does not return.
The explain_statvfs_on_error function always returns the value return by the wrapped statvfs(2) system call.
EXAMPLE
The explain_statvfs_or_die function is intended to be used in a fashion similar to the following example:
explain_statvfs_or_die(pathname, data);
SEE ALSO statvfs(2)
get file system statistics
explain_statvfs(3)
explain statvfs(2) errors
exit(2) terminate the calling process
COPYRIGHT
libexplain version 0.52
Copyright (C) 2010 Peter Miller
explain_statvfs_or_die(3)