On Sat, 16 Jun 2012 21:04:26 +0100 Chris Rees <utis...@gmail.com> wrote:
> On Jun 16, 2012 8:37 PM, "Xin LI" <delp...@gmail.com> wrote: > > > > On Sat, Jun 16, 2012 at 12:01 PM, Chris Rees <utis...@gmail.com> wrote: > > > On Jun 14, 2012 5:49 AM, "Wojciech Puchar" < > woj...@wojtek.tensor.gdynia.pl> > > > wrote: > > >>>> > > >>>> file to take 900MB or... can i call some system function to "punch" > > >>>> holes? > > >>> > > >>> > > >>> I think you can only truncate the file at this time, pretty much like > > >>> brk() works for memory. > > >> > > >> > > >> > > >> BAD. suppose i keep windoze VM image on filesystem which takes 10GB but > > > uses 5GB. > > >> > > >> i could write simple program to find out what blocks are unused and > > > then...do nothing. > > >> > > > > > > What if you cp it? > > > > That would be a dd(1) unless we teach cp(1) how to do sparse. I think > > what he wanted is to tell the OS "I don't need block XX - YY anymore" > > and the OS creates a sparse hole, which is not available at this time. > > Sorry, I must have misread. I take it cp would take a file with holes and > only copy the data part? i.e. take a 10G file of which 5G is a hole, you'd > end up with a 5G file? No, cp just does read()s. Reading data from a hole returns a block full of zeros. A quick test (after writing a program to create the file) shows this: bhuda% df -h . Filesystem Size Used Avail Capacity Mounted on /dev/md0 123M 1.2M 112M 1% /tmp bhuda% ls -lh holey.test -rwxr-xr-x 1 mwm wheel 953M Jun 16 16:22 holey.test Ok, I've got a file that's 953M on an FS with 1.2 meg used. It's got holes. bhuda% cp holey.test foobar /tmp: write failed, filesystem is full cp: foobar: No space left on device And doing a cp fails. Use dd conv=sparse to get the effect you want. <mike -- Mike Meyer <m...@mired.org> http://www.mired.org/ Independent Software developer/SCM consultant, email for more information. O< ascii ribbon campaign - stop html mail - www.asciiribbon.org _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"