Forgat to send to the list. -Otto ----- Forwarded message from Otto Moerbeek <[EMAIL PROTECTED]> -----
Date: Sat, 10 Nov 2007 10:36:20 +0100 From: Otto Moerbeek <[EMAIL PROTECTED]> To: Richard Toohey <[EMAIL PROTECTED]> Subject: Re: identifying sparse files and get ride of them trick available? On Sat, Nov 10, 2007 at 09:44:46PM +1300, Richard Toohey wrote: > > On 10/11/2007, at 9:32 PM, Otto Moerbeek wrote: > > >yeah, look at stat(2): > > > > int64_t st_blocks; /* blocks allocated for file */ > > u_int32_t st_blksize; /* optimal file sys I/O ops blocksize */ > > > >actually st_blocks's unit is disk sectors, to be precise. > > > >I don't read perl, so I cannot comment on the script below. > > > > -Otto > > Thanks for the feedback. > > I tried in C, but could not get past getting 0 for st_blocks every > time (will be my C, but I can't see (C?) what it is yet ...) Wrong format specifier. -Wall is your friend. -Otto > > # man -s 2 stat: > [cut] > struct timespec st_ctimespec; /* time of last file status > change */ > off_t st_size; /* file size, in bytes */ > int64_t st_blocks; /* blocks allocated for file */ > [cut] > > check.c > ----------- > > #include <sys/stat.h> > > int main(void) { > struct stat stat_stuff; > int result; > result=stat("/home/sparse-files/sparsefile",&stat_stuff); > printf("%d %d\n",stat_stuff.st_size,stat_stuff.st_blocks); > } > > # cc check.c -o check > # ./check > 10485760 0 ----- End forwarded message -----