diff options
Diffstat (limited to 'fs/ext4/move_extent.c')
| -rw-r--r-- | fs/ext4/move_extent.c | 7 | 
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/ext4/move_extent.c b/fs/ext4/move_extent.c index a920c5d29fac..6fc14def0c70 100644 --- a/fs/ext4/move_extent.c +++ b/fs/ext4/move_extent.c @@ -598,6 +598,13 @@ ext4_move_extents(struct file *o_filp, struct file *d_filp, __u64 orig_blk,  		return -EOPNOTSUPP;  	} +	if (ext4_encrypted_inode(orig_inode) || +	    ext4_encrypted_inode(donor_inode)) { +		ext4_msg(orig_inode->i_sb, KERN_ERR, +			 "Online defrag not supported for encrypted files"); +		return -EOPNOTSUPP; +	} +  	/* Protect orig and donor inodes against a truncate */  	lock_two_nondirectories(orig_inode, donor_inode);  |