Message ID | 20160722221755.GA1594@localhost.localdomain |
---|---|
State | Awaiting Upstream, archived |
Headers | show |
On Fri, Jul 22, 2016 at 06:17:55PM -0400, Eric Whitney wrote: > Online defragging of encrypted files is not currently implemented. > However, the move extent ioctl can still return successfully when > called. For example, this occurs when xfstest ext4/020 is run on an > encrypted file system, resulting in a corrupted test file and a > corresponding test failure. > > Until the proper functionality is implemented, fail the move extent > ioctl if either the original or donor file is encrypted. > > Signed-off-by: Eric Whitney <enwlinux@gmail.com> Thanks, applied. - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/fs/ext4/move_extent.c b/fs/ext4/move_extent.c index a920c5d..6fc14de 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);
Online defragging of encrypted files is not currently implemented. However, the move extent ioctl can still return successfully when called. For example, this occurs when xfstest ext4/020 is run on an encrypted file system, resulting in a corrupted test file and a corresponding test failure. Until the proper functionality is implemented, fail the move extent ioctl if either the original or donor file is encrypted. Signed-off-by: Eric Whitney <enwlinux@gmail.com> --- fs/ext4/move_extent.c | 7 +++++++ 1 file changed, 7 insertions(+)