Thread (33 messages) 33 messages, 4 authors, 2011-07-18

Re: [PATCH 03/12] ext4: prevent a fs without journal from being resized

From: Tao Ma <hidden>
Date: 2011-07-18 03:17:09

On 07/18/2011 10:52 AM, Yongqiang Yang wrote:
This patch prevents a fs without journal from being resized, because
it is easy to detroy the fs.
Why you want to do this?  You see any corruption?
At least in our product system, no-journal mode is heavily used and we
really don't want to disable this feature.

Thanks
Tao
quoted hunk ↗ jump to hunk
Signed-off-by: Yongqiang Yang <redacted>
---
 fs/ext4/resize.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
index 53d9795..33ab40d 100644
--- a/fs/ext4/resize.c
+++ b/fs/ext4/resize.c
@@ -33,6 +33,16 @@ int ext4_resize_begin(struct super_block *sb)
 		return -EPERM;
 	}
 
+	/*
+	 * We are not allowed to do online-resizing on a filesystem without
+	 * journal, otherwise, it is easy to destroy the filesystem.
+	 */
+	if (!EXT4_SB(sb)->s_journal) {
+		ext4_warning(sb, "There is no journal for the filesystem, "
+			     "so online resizing is not allowed\n");
+		return -EPERM;
+	}
+
 	if (test_and_set_bit_lock(EXT4_RESIZING, &EXT4_SB(sb)->s_resize_flags))
 		ret = -EBUSY;
 
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help