summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--e2fsprogs-1.41.4-fix-external-journals.patch42
-rw-r--r--e2fsprogs.spec8
2 files changed, 49 insertions, 1 deletions
diff --git a/e2fsprogs-1.41.4-fix-external-journals.patch b/e2fsprogs-1.41.4-fix-external-journals.patch
new file mode 100644
index 0000000..28bb8f0
--- /dev/null
+++ b/e2fsprogs-1.41.4-fix-external-journals.patch
@@ -0,0 +1,42 @@
+From: Theodore Ts'o <tytso@mit.edu>
+Date: Tue, 17 Mar 2009 02:16:44 +0000 (-0400)
+Subject: libext2fs: external journal devices should not cause ext2fs_open2 to fail
+X-Git-Url: http://git.kernel.org/?p=fs%2Fext2%2Fe2fsprogs.git;a=commitdiff_plain;h=341b52dfa8c2afc11d8410de9bd381b03e75c6af
+
+libext2fs: external journal devices should not cause ext2fs_open2 to fail
+
+This fixes a regression introduced in commit 79a9ab14 which caused
+attempts to open external journals to fail due to overly strict
+filesystem consistency checks.
+
+Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
+---
+
+diff --git a/lib/ext2fs/openfs.c b/lib/ext2fs/openfs.c
+index cdfeaec..f6fe3f0 100644
+--- a/lib/ext2fs/openfs.c
++++ b/lib/ext2fs/openfs.c
+@@ -243,10 +243,6 @@ errcode_t ext2fs_open2(const char *name, const char *io_options,
+ goto cleanup;
+ }
+ fs->fragsize = EXT2_FRAG_SIZE(fs->super);
+- if (EXT2_INODES_PER_GROUP(fs->super) == 0) {
+- retval = EXT2_ET_CORRUPT_SUPERBLOCK;
+- goto cleanup;
+- }
+ fs->inode_blocks_per_group = ((EXT2_INODES_PER_GROUP(fs->super) *
+ EXT2_INODE_SIZE(fs->super) +
+ EXT2_BLOCK_SIZE(fs->super) - 1) /
+@@ -273,6 +269,11 @@ errcode_t ext2fs_open2(const char *name, const char *io_options,
+ return 0;
+ }
+
++ if (EXT2_INODES_PER_GROUP(fs->super) == 0) {
++ retval = EXT2_ET_CORRUPT_SUPERBLOCK;
++ goto cleanup;
++ }
++
+ /*
+ * Read group descriptors
+ */
+
diff --git a/e2fsprogs.spec b/e2fsprogs.spec
index 90ca465..84331ea 100644
--- a/e2fsprogs.spec
+++ b/e2fsprogs.spec
@@ -4,7 +4,7 @@
Summary: Utilities for managing ext2, ext3, and ext4 filesystems
Name: e2fsprogs
Version: 1.41.4
-Release: 7%{?dist}
+Release: 8%{?dist}
# License based on upstream-modified COPYING file,
# which clearly states "V2" intent.
License: GPLv2
@@ -20,6 +20,7 @@ Patch4: e2fsprogs-1.41.4-libext2fs-info.patch
Patch5: e2fsprogs-1.41.4-fix-blkid-segfault.patch
Patch6: e2fsprogs-1.41.4-ignore-NEEDS_RECOVERY-mismatch.patch
Patch7: e2fsprogs-1.41.4-ext4-resize-fixes.patch
+Patch8: e2fsprogs-1.41.4-fix-external-journals.patch
Url: http://e2fsprogs.sourceforge.net/
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -107,6 +108,8 @@ SMP systems.
%patch6 -p1 -b .recovery
# Fix ext4 resize issues
%patch7 -p1 -b .resize
+# Fix external journals
+%patch8 -p1 -b .ext-journal
%build
%configure --enable-elf-shlibs --enable-nls --disable-e2initrd-helper --enable-blkid-devmapper --enable-blkid-selinux
@@ -305,6 +308,9 @@ fi
%dir %attr(2775, uuidd, uuidd) /var/lib/libuuid
%changelog
+* Wed Apr 22 2009 Eric Sandeen <sandeen@redhat.com> 1.41.4-8
+- Fix support for external journals
+
* Wed Apr 22 2009 Eric Sandeen <sandeen@redhat.com> 1.41.4-7
- Fix ext4 resize issues (#496982)