diff options
| -rw-r--r-- | fs/ext4/move_extent.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/ext4/move_extent.c b/fs/ext4/move_extent.c index 18143c55b..fa00a0e3f 100644 --- a/fs/ext4/move_extent.c +++ b/fs/ext4/move_extent.c @@ -596,6 +596,14 @@ ext4_move_extents(struct file *o_filp, struct file *d_filp, __u64 orig_blk, ext4_should_journal_data(donor_inode)) { return -EINVAL; } + + 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); |
