Re: [PATCH] vfs: Export do_fallocate() to kernel modules

From: Thieu Le
Date: Tue Aug 23 2011 - 18:13:13 EST


[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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/