Patchwork [2/4] ext4: online defrag is not supported for journaled files

login
register
mail settings
Submitter Dmitri Monakho
Date Sept. 24, 2012, 12:23 p.m.
Message ID <1348489434-22778-3-git-send-email-dmonakhov@openvz.org>
Download mbox | patch
Permalink /patch/186388/
State Accepted, archived
Headers show

Comments

Dmitri Monakho - Sept. 24, 2012, 12:23 p.m.
Proper block swap for inodes with full journaling enabled is
truly non obvious task. In order to be on a safe side let's
explicitly disable it for now.

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
---
 fs/ext4/move_extent.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)
Theodore Ts'o - Sept. 26, 2012, 4:30 p.m.
On Mon, Sep 24, 2012 at 04:23:52PM +0400, Dmitry Monakhov wrote:
> Proper block swap for inodes with full journaling enabled is
> truly non obvious task. In order to be on a safe side let's
> explicitly disable it for now.
> 
> Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>

Applied, thanks!!

					- 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

Patch

diff --git a/fs/ext4/move_extent.c b/fs/ext4/move_extent.c
index 37c8497..0aa2ad7 100644
--- a/fs/ext4/move_extent.c
+++ b/fs/ext4/move_extent.c
@@ -1142,7 +1142,12 @@  ext4_move_extents(struct file *o_filp, struct file *d_filp,
 			orig_inode->i_ino, donor_inode->i_ino);
 		return -EINVAL;
 	}
-
+	/* TODO: This is non obvious task to swap blocks for inodes with full
+	   jornaling enabled */
+	if (ext4_should_journal_data(orig_inode) ||
+	    ext4_should_journal_data(donor_inode)) {
+		return -EINVAL;
+	}
 	/* Protect orig and donor inodes against a truncate */
 	mext_inode_double_lock(orig_inode, donor_inode);