[kernel] r17421 - in dists/lenny/linux-2.6/debian: . patches/bugfix/all

Dann Frazier dannf at alioth.debian.org
Mon May 16 00:59:06 UTC 2011


Author: dannf
Date: Mon May 16 00:59:05 2011
New Revision: 17421

Log:
ext3: skip orphan cleanup on rocompat fs

Added:
   dists/lenny/linux-2.6/debian/patches/bugfix/all/ext3-skip-orphan-cleanup-on-rocompat-fs.patch
Modified:
   dists/lenny/linux-2.6/debian/changelog

Modified: dists/lenny/linux-2.6/debian/changelog
==============================================================================
--- dists/lenny/linux-2.6/debian/changelog	Mon May 16 00:58:58 2011	(r17420)
+++ dists/lenny/linux-2.6/debian/changelog	Mon May 16 00:59:05 2011	(r17421)
@@ -29,6 +29,7 @@
     - NFS: Fix "kernel BUG at fs/aio.c:554!"
     - md: fix regression with re-adding devices to arrays with no metadata
     - [x86] Flush TLB if PGD entry is changed in i386 PAE mode
+    - ext3: skip orphan cleanup on rocompat fs
 
  -- Ben Hutchings <ben at decadent.org.uk>  Mon, 29 Nov 2010 02:01:24 +0000
 

Added: dists/lenny/linux-2.6/debian/patches/bugfix/all/ext3-skip-orphan-cleanup-on-rocompat-fs.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/lenny/linux-2.6/debian/patches/bugfix/all/ext3-skip-orphan-cleanup-on-rocompat-fs.patch	Mon May 16 00:59:05 2011	(r17421)
@@ -0,0 +1,38 @@
+commit 51da779c8cea43a029cf87f65dedd9a75fdc2fcb
+Author: Amir Goldstein <amir73il at gmail.com>
+Date:   Sat Feb 26 22:40:19 2011 +0200
+
+    ext3: skip orphan cleanup on rocompat fs
+    
+    commit ce654b37f87980d95f339080e4c3bdb2370bdf22 upstream.
+    
+    Orphan cleanup is currently executed even if the file system has some
+    number of unknown ROCOMPAT features, which deletes inodes and frees
+    blocks, which could be very bad for some RO_COMPAT features.
+    
+    This patch skips the orphan cleanup if it contains readonly compatible
+    features not known by this ext3 implementation, which would prevent
+    the fs from being mounted (or remounted) readwrite.
+    
+    Signed-off-by: Amir Goldstein <amir73il at users.sf.net>
+    Signed-off-by: Jan Kara <jack at suse.cz>
+    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
+
+diff --git a/fs/ext3/super.c b/fs/ext3/super.c
+index 810bf7c..d7c5c6b 100644
+--- a/fs/ext3/super.c
++++ b/fs/ext3/super.c
+@@ -1362,6 +1362,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)) {
++		printk(KERN_INFO "EXT3-fs: %s: Skipping orphan cleanup due to "
++			 "unknown ROCOMPAT features\n", sb->s_id);
++		return;
++	}
++
+ 	if (EXT3_SB(sb)->s_mount_state & EXT3_ERROR_FS) {
+ 		if (es->s_last_orphan)
+ 			jbd_debug(1, "Errors on filesystem, "



More information about the Kernel-svn-changes mailing list