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;