BIO_DELETE equivalent for file on FFS filesystem

Chris Rees utisoft at gmail.com
Sat Jun 16 20:04:28 UTC 2012


On Jun 16, 2012 8:37 PM, "Xin LI" <delphij at gmail.com> wrote:
>
> On Sat, Jun 16, 2012 at 12:01 PM, Chris Rees <utisoft at gmail.com> wrote:
> > On Jun 14, 2012 5:49 AM, "Wojciech Puchar" <
wojtek at 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?

Chris


More information about the freebsd-hackers mailing list