rpms/kernel/F-10 linux-2.6-ext4-ENOSPC-debug.patch, NONE, 1.1 kernel.spec, 1.1265, 1.1266

Chuck Ebbert cebbert at fedoraproject.org
Fri Feb 20 05:30:54 UTC 2009


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv3643

Modified Files:
	kernel.spec 
Added Files:
	linux-2.6-ext4-ENOSPC-debug.patch 
Log Message:
Copy ext4 ENOSPC fix from rawhide.

linux-2.6-ext4-ENOSPC-debug.patch:

--- NEW FILE linux-2.6-ext4-ENOSPC-debug.patch ---
Author: Theodore Ts'o <tytso at mit.edu>
Date:   Mon Feb 16 13:51:16 2009 -0500

    ext4: Add fallback for find_group_flex
    
    This is a workaround for find_group_flex() which badly needs to be
    replaced.  One of its problems (besides ignoring the Orlov algorithm)
    is that it is a bit hyperactive about returning failure under
    suspicious circumstances.  This can lead to spurious ENOSPC failures.
    Work around this for now by retrying the search using
    find_group_other() if find_group_flex() returns -1.  If
    find_group_other() succeeds when find_group_flex(), log a warning
    message.  I can't quite find the motivation to spend effort working on
    fixing find_group_flex() given that I want to replace it all anyway
    (and in fact work on the replacement code is underway), so we may
    leave the workaround for as long as find_group_flex() stays in the
    kernel...
    
    Signed-off-by: "Theodore Ts'o" <tytso at mit.edu>

XXX ERS: Remove printk, it's too much noise now, we got the bug reports

diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c
index a200059..21080ab 100644
--- a/fs/ext4/ialloc.c
+++ b/fs/ext4/ialloc.c
@@ -715,6 +715,8 @@ struct inode *ext4_new_inode(handle_t *handle, struct inode *dir, int mode)
 
 	if (sbi->s_log_groups_per_flex) {
 		ret2 = find_group_flex(sb, dir, &group);
+		if (ret2 == -1)
+			ret2 = find_group_other(sb, dir, &group);
 		goto got_group;
 	}


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/kernel.spec,v
retrieving revision 1.1265
retrieving revision 1.1266
diff -u -r1.1265 -r1.1266
--- kernel.spec	20 Feb 2009 04:37:45 -0000	1.1265
+++ kernel.spec	20 Feb 2009 05:30:24 -0000	1.1266
@@ -620,6 +620,8 @@
 Patch570: linux-2.6-selinux-mprotect-checks.patch
 Patch580: linux-2.6-sparc-selinux-mprotect-checks.patch
 
+Patch591: linux-2.6-ext4-ENOSPC-debug.patch
+
 Patch600: linux-2.6-defaults-alsa-hda-beep-off.patch
 
 Patch670: linux-2.6-ata-quirk.patch
@@ -1058,6 +1060,7 @@
 #
 
 # ext4
+ApplyPatch linux-2.6-ext4-ENOSPC-debug.patch
 
 # xfs
 
@@ -1744,6 +1747,9 @@
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Fri Feb 20 2009 Chuck Ebbert <cebbert at redhat.com>  2.6.29-0.36.rc5.git2
+- Copy ext4 ENOSPC fix from rawhide.
+
 * Thu Feb 19 2009 Chuck Ebbert <cebbert at redhat.com>  2.6.29-0.35.rc5.git2
 - FAT filesystem must remain UTF-8 by default in F10.
 




More information about the fedora-extras-commits mailing list