[Resending in text format] ecryptfs, in the past, uses a write-through cache model. Whenever an application writes data to the file system, ecryptfs would encrypt the entire page and write it to the lower file system. So in the case where an application performs multiple writes to the same page, ecryptfs would encrypt the entire page for each write. Recently, ecryptfs moved to a write-back model where it would only encrypt the page when the page is flushed to disk, thereby reducing the number of encryption operations. However, if the lower file system is low on disk space, the delayed write by ecryptfs to the lower file may fail with -ENOSPC. In order to prevent this, ecryptfs needs to efficiently preallocate the space in the lower file which is why the need for fallocate. On Tue, Aug 23, 2011 at 2:59 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > > On Tue, Aug 23, 2011 at 02:47:55PM -0700, Thieu Le wrote: > > Export do_fallocate() so layered file systems such as ecryptfs can take > > advantage of this interface. Existing interfaces to the fallocate > > facilities require a file descriptor which is not available to layered > > file systems. > > Details, please. do_fallocate() does shitloads of checks, probably pointless > for ecryptfs and its ilk, but I want to see users for that export before > I can say whether it's OK or not. -- 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