summaryrefslogtreecommitdiffstats
path: root/fs/ext3/super.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-03-18 01:41:19 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2011-03-18 01:41:19 +0100
commit77aa56ba09b7416764aec2e3f7b41e023cf30602 (patch)
treed4247c8ee6b7371e60dcadaf1540c943ed7a9801 /fs/ext3/super.c
parentMerge branch 'nfs-for-2.6.39' of git://git.linux-nfs.org/projects/trondmy/nfs... (diff)
parentMerge branch 'for_next' into for_linus (diff)
downloadlinux-77aa56ba09b7416764aec2e3f7b41e023cf30602.tar.xz
linux-77aa56ba09b7416764aec2e3f7b41e023cf30602.zip
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: ext3: Always set dx_node's fake_dirent explicitly. ext3: Fix an overflow in ext3_trim_fs. jbd: Remove one to many n's in a word. ext3: skip orphan cleanup on rocompat fs ext2: Fix link count corruption under heavy link+rename load ext3: speed up group trim with the right free block count. ext3: Adjust trim start with first_data_block. quota: return -ENOMEM when memory allocation fails
Diffstat (limited to 'fs/ext3/super.c')
-rw-r--r--fs/ext3/super.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/ext3/super.c b/fs/ext3/super.c
index 9cc19a1dea8e..071689f86e18 100644
--- a/fs/ext3/super.c
+++ b/fs/ext3/super.c
@@ -1464,6 +1464,13 @@ static void ext3_orphan_cleanup (struct super_block * sb,
return;
}
+ /* Check if feature set allows readwrite operations */
+ if (EXT3_HAS_RO_COMPAT_FEATURE(sb, ~EXT3_FEATURE_RO_COMPAT_SUPP)) {
+ ext3_msg(sb, KERN_INFO, "Skipping orphan cleanup due to "
+ "unknown ROCOMPAT features");
+ return;
+ }
+
if (EXT3_SB(sb)->s_mount_state & EXT3_ERROR_FS) {
if (es->s_last_orphan)
jbd_debug(1, "Errors on filesystem, "