On Sat, 2012-03-24 at 16:27 +0100, Christoph Hellwig wrote: > > has_discard = !fallocate(s->fd, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, > > There is no point in using FALLOC_FL_KEEP_SIZE together with > FALLOC_FL_PUNCH_HOLE. It's *required*. From the man page [0], "The FALLOC_FL_PUNCH_HOLE flag must be ORed with FALLOC_FL_KEEP_SIZE in mode;" [0] http://man7.org/linux/man-pages/man2/fallocate.2.html -- Richard