On Monday 05 March 2007, Jörn Engel wrote: > That actually causes an interesting problem for compressing filesystems. > The space consumed by blocks depends on their contents and how well it > compresses. At the moment, the only option I see to support > posix_fallocate for LogFS is to set an inode flag disabling compression, > then allocate the blocks. > > But if the file already contains large amounts of compressed data, I > have a problem. Disabling compression for a range within a file is not > supported, so I can only return an error. But which one? Using the current glibc implementation on a compressed file system ideally should be a very expensive no-op because you won't actually allocate much space for a file when writing zeroes to it. You also don't benefit of a contiguous allocation in logfs, since flash has uniform seek times over all the medium. I'd suggest you implement posix_fallocate as an real nop and just return success without doing anything. You could also return ENOSPC in case the blocks requested by posix_fallocate don't fit on the medium without compression, but that is more or less just guesswork (like statfs is). Arnd <>< - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html