diff options
| author | Ingo Molnar <mingo@elte.hu> | 2009-05-11 14:44:27 +0200 | 
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2009-05-11 14:44:31 +0200 | 
| commit | 41fb454ebe6024f5c1e3b3cbc0abc0da762e7b51 (patch) | |
| tree | 51c50bcb67a5039448ddfa1869d7948cab1217e9 /fs/ecryptfs/mmap.c | |
| parent | 19c1a6f5764d787113fa323ffb18be7991208f82 (diff) | |
| parent | 091bf7624d1c90cec9e578a18529f615213ff847 (diff) | |
Merge commit 'v2.6.30-rc5' into core/iommu
Merge reason: core/iommu was on an .30-rc1 base,
              update it to .30-rc5 to refresh.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'fs/ecryptfs/mmap.c')
| -rw-r--r-- | fs/ecryptfs/mmap.c | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/fs/ecryptfs/mmap.c b/fs/ecryptfs/mmap.c index 46cec2b6979..5c6bab9786e 100644 --- a/fs/ecryptfs/mmap.c +++ b/fs/ecryptfs/mmap.c @@ -449,6 +449,7 @@ int ecryptfs_write_inode_size_to_metadata(struct inode *ecryptfs_inode)  	struct ecryptfs_crypt_stat *crypt_stat;  	crypt_stat = &ecryptfs_inode_to_private(ecryptfs_inode)->crypt_stat; +	BUG_ON(!(crypt_stat->flags & ECRYPTFS_ENCRYPTED));  	if (crypt_stat->flags & ECRYPTFS_METADATA_IN_XATTR)  		return ecryptfs_write_inode_size_to_xattr(ecryptfs_inode);  	else @@ -490,6 +491,16 @@ static int ecryptfs_write_end(struct file *file,  		ecryptfs_printk(KERN_DEBUG, "Not a new file\n");  	ecryptfs_printk(KERN_DEBUG, "Calling fill_zeros_to_end_of_page"  			"(page w/ index = [0x%.16x], to = [%d])\n", index, to); +	if (!(crypt_stat->flags & ECRYPTFS_ENCRYPTED)) { +		rc = ecryptfs_write_lower_page_segment(ecryptfs_inode, page, 0, +						       to); +		if (!rc) { +			rc = copied; +			fsstack_copy_inode_size(ecryptfs_inode, +				ecryptfs_inode_to_lower(ecryptfs_inode)); +		} +		goto out; +	}  	/* Fills in zeros if 'to' goes beyond inode size */  	rc = fill_zeros_to_end_of_page(page, to);  	if (rc) {  | 
