rpms/e2fsprogs/F-13 e2fsprogs-1.41.10-fsck-D-fix.patch, NONE, 1.1 e2fsprogs.spec, 1.160, 1.161

Eric Sandeen sandeen at fedoraproject.org
Wed Feb 24 16:30:34 UTC 2010


Author: sandeen

Update of /cvs/pkgs/rpms/e2fsprogs/F-13
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv17359

Modified Files:
	e2fsprogs.spec 
Added Files:
	e2fsprogs-1.41.10-fsck-D-fix.patch 
Log Message:
* Tue Feb 23 2010 Eric Sandeen <sandeen at redhat.com> 1.41.10-4
- Fix for e2fsck -fD corruption


e2fsprogs-1.41.10-fsck-D-fix.patch:
 rehash.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

--- NEW FILE e2fsprogs-1.41.10-fsck-D-fix.patch ---
E2fsprogs 1.41.10 introduced a regression (in commit b71e018) where
e2fsck -fD can corrupt non-indexed directories when are exists one or
more file names which alphabetically sort before ".".  This can happen
with ext2 filesystems or for small directories (take less than a
block) which contain filenames that begin with a space or some other
punctuation mark.

Fix this by making sure we never reorder the '.' or '..' entry in the
directory, since they must be first.

Signed-off-by: "Theodore Ts'o" <tytso at mit.edu>
---
 e2fsck/rehash.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/e2fsck/rehash.c b/e2fsck/rehash.c
index 780742e..ceb8543 100644
--- a/e2fsck/rehash.c
+++ b/e2fsck/rehash.c
@@ -763,7 +763,12 @@ retry_nohash:
 
 	/* Sort the list */
 resort:
-	qsort(fd.harray, fd.num_array, sizeof(struct hash_entry), hash_cmp);
+	if (fd.compress)
+		qsort(fd.harray+2, fd.num_array-2, sizeof(struct hash_entry),
+		      hash_cmp);
+	else
+		qsort(fd.harray, fd.num_array, sizeof(struct hash_entry),
+		      hash_cmp);
 
 	/*
 	 * Look for duplicates


Index: e2fsprogs.spec
===================================================================
RCS file: /cvs/pkgs/rpms/e2fsprogs/F-13/e2fsprogs.spec,v
retrieving revision 1.160
retrieving revision 1.161
diff -u -p -r1.160 -r1.161
--- e2fsprogs.spec	12 Feb 2010 23:13:53 -0000	1.160
+++ e2fsprogs.spec	24 Feb 2010 16:30:34 -0000	1.161
@@ -4,7 +4,7 @@
 Summary: Utilities for managing ext2, ext3, and ext4 filesystems
 Name: e2fsprogs
 Version: 1.41.10
-Release: 3%{?dist}
+Release: 4%{?dist}
 
 # License tags based on COPYING file distinctions for various components
 License: GPLv2
@@ -13,6 +13,7 @@ Source0: http://downloads.sourceforge.ne
 Source1: ext2_types-wrapper.h
 
 Patch2: e2fsprogs-1.40.4-sb_feature_check_ignore.patch
+Patch3: e2fsprogs-1.41.10-fsck-D-fix.patch
 
 Url: http://e2fsprogs.sourceforge.net/
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -136,6 +137,10 @@ It was originally inspired by the Multic
 # after an selinux install...
 %patch2 -p1 -b .featurecheck
 
+# E2fsprogs 1.41.10 introduced a regression (in commit b71e018) where
+# e2fsck -fD can corrupt non-indexed directories
+%patch3 -p1 -b .fsckD
+
 %build
 %configure --enable-elf-shlibs --enable-nls --disable-uuidd --disable-fsck \
 	   --disable-e2initrd-helper --disable-libblkid --disable-libuuid
@@ -294,6 +299,9 @@ exit 0
 %{_libdir}/pkgconfig/ss.pc
 
 %changelog
+* Tue Feb 23 2010 Eric Sandeen <sandeen at redhat.com> 1.41.10-4
+- Fix for e2fsck -fD corruption
+
 * Fri Feb 12 2010 Eric Sandeen <sandeen at redhat.com> 1.41.10-3
 - And drop virtual provides for static libs
 



More information about the scm-commits mailing list