On Fri, 2007-03-02 at 18:45 +0800, Andreas Dilger wrote:
I can see a difference though. punch() would throw away written data as
well as pre-allocated-but-never-written-to data. I can see where a user
might preallocate a large file and do a lot of random writes. At some
point, he decides the file isn't going to grow much more, so let's free
up the remaining pre-allocated blocks. This makes even more sense with
reservation.
The alternative would be to have punch() take a flag to specify if only
preallocated or reserved blocks should be freed.
Or it could just fail. Writing zeroes may be really slow and not give
the caller any benefit. (The intention was to free blocks back to the
file system.)
Shaggy
--
David Kleikamp
IBM Linux Technology Center
-