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 +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" +--- + +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 1.41.4-8 +- Fix support for external journals + * Wed Apr 22 2009 Eric Sandeen 1.41.4-7 - Fix ext4 resize issues (#496982)