The UNIX and Linux Forums  
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.

Go Back   The UNIX and Linux Forums > Top Forums > High Level Programming
.
google unix.com




View Single Post in the UNIX and Linux Forums - Click on the Thread or Permalink to View Entire Thread -->
  #1 (permalink)  
Old 02-13-2008
lucaxvu lucaxvu is offline
Registered User
  
 

Join Date: Feb 2008
Posts: 2
how to get the file system size

I have the next code, and the output is incosistent, what is the problem:

free blocks: 1201595
block size: 4096
total size(free blocks * block size): 626765824

1201595 * 4096 not is 626765824, what's the problem???

#include <sys/statvfs.h>
#include <stdio.h>

int main(){

struct statvfs buffer;
int status;
int free_blk;
int blk_size;

status = statvfs("/", &buffer);

printf("free blocks: %u\n",buffer.f_bavail);
printf("block size: %u\n",buffer.f_bsize);

free_blk = buffer.f_bavail;
blk_size = buffer.f_bsize;
printf("total size: %u\n",free_blk*blk_size);
return 0;
}

Thks