eCryptfs: track header bytes rather than extents
Remove internal references to header extents; just keep track of header bytes instead. Headers can easily span multiple pages with the recent persistent file changes. Signed-off-by: Michael Halcrow <mhalcrow@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
7896b63182
commit
cc11beffdf
@ -365,8 +365,7 @@ static struct dentry *ecryptfs_lookup(struct inode *dir, struct dentry *dentry,
|
||||
dentry->d_sb)->mount_crypt_stat;
|
||||
if (mount_crypt_stat->flags & ECRYPTFS_ENCRYPTED_VIEW_ENABLED) {
|
||||
if (crypt_stat->flags & ECRYPTFS_METADATA_IN_XATTR)
|
||||
file_size = ((crypt_stat->extent_size
|
||||
* crypt_stat->num_header_extents_at_front)
|
||||
file_size = (crypt_stat->num_header_bytes_at_front
|
||||
+ i_size_read(lower_dentry->d_inode));
|
||||
else
|
||||
file_size = i_size_read(lower_dentry->d_inode);
|
||||
@ -685,7 +684,7 @@ ecryptfs_put_link(struct dentry *dentry, struct nameidata *nd, void *ptr)
|
||||
* @crypt_stat: Crypt_stat associated with file
|
||||
* @upper_size: Size of the upper file
|
||||
*
|
||||
* Calculate the requried size of the lower file based on the
|
||||
* Calculate the required size of the lower file based on the
|
||||
* specified size of the upper file. This calculation is based on the
|
||||
* number of headers in the underlying file and the extent size.
|
||||
*
|
||||
@ -697,8 +696,7 @@ upper_size_to_lower_size(struct ecryptfs_crypt_stat *crypt_stat,
|
||||
{
|
||||
loff_t lower_size;
|
||||
|
||||
lower_size = (crypt_stat->extent_size
|
||||
* crypt_stat->num_header_extents_at_front);
|
||||
lower_size = crypt_stat->num_header_bytes_at_front;
|
||||
if (upper_size != 0) {
|
||||
loff_t num_extents;
|
||||
|
||||
|
Reference in New Issue
Block a user