diff --git a/e2fsprogs-1.41.1-e2fsck_fix_automatic_blocksize_detection.patch b/e2fsprogs-1.41.1-e2fsck_fix_automatic_blocksize_detection.patch new file mode 100644 index 0000000..9390e99 --- /dev/null +++ b/e2fsprogs-1.41.1-e2fsck_fix_automatic_blocksize_detection.patch @@ -0,0 +1,32 @@ +commit 52771ab59145d66b50399a8b953b8181cb2d5b04 +Author: Theodore Ts'o +Date: Tue Sep 9 15:02:24 2008 -0400 + + e2fsck: Fix e2fsck automatic blocksize detetion + + This fixes a regression that was introduced in commit dcc91e10 (it + showed up first in e2fsprogs 1.40.7). Since we weren't freeing the + filesystem handle, ext2fs_open2() was returning EBUSY, and so this + caused a failure in the code that would automatically determine the + filesystem block size when only the superblock number was specified by + the user. + + This was discussed in http://ubuntuforums.org/showthread.php?t=789323, + and Matthias Bannach pointed this out to me, for which I am very + grateful. + + Signed-off-by: "Theodore Ts'o" + +diff --git a/e2fsck/unix.c b/e2fsck/unix.c +index 94938a4..64faebe 100644 +--- a/e2fsck/unix.c ++++ b/e2fsck/unix.c +@@ -971,6 +971,8 @@ restart: + int blocksize; + for (blocksize = EXT2_MIN_BLOCK_SIZE; + blocksize <= EXT2_MAX_BLOCK_SIZE; blocksize *= 2) { ++ if (fs) ++ ext2fs_free(fs); + retval = ext2fs_open2(ctx->filesystem_name, + ctx->io_options, flags, + ctx->superblock, blocksize, diff --git a/e2fsprogs-1.41.1-splash_support.patch b/e2fsprogs-1.41.1-splash_support.patch index 2acbc28..58cd347 100644 --- a/e2fsprogs-1.41.1-splash_support.patch +++ b/e2fsprogs-1.41.1-splash_support.patch @@ -1,7 +1,7 @@ Index: e2fsprogs-1.41.1/e2fsck/splash.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ e2fsprogs-1.41.1/e2fsck/splash.c 2008-09-29 16:42:50.000000000 +0200 ++++ e2fsprogs-1.41.1/e2fsck/splash.c 2008-10-07 12:52:34.000000000 +0200 @@ -0,0 +1,101 @@ +/* + * add support for switching the splash screen on boot @@ -46,7 +46,7 @@ Index: e2fsprogs-1.41.1/e2fsck/splash.c + return 0; +} + -+/* write msg to splash control, must be \0 terminated */ ++/* write msg to splash control */ +static void bootsplash_msg(const char *msg, size_t size) +{ + int fd; @@ -107,7 +107,7 @@ Index: e2fsprogs-1.41.1/e2fsck/splash.c Index: e2fsprogs-1.41.1/e2fsck/splash.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ e2fsprogs-1.41.1/e2fsck/splash.h 2008-09-29 16:42:23.000000000 +0200 ++++ e2fsprogs-1.41.1/e2fsck/splash.h 2008-10-07 12:50:20.000000000 +0200 @@ -0,0 +1,13 @@ +#ifndef _SPLASH_H +#define _SPLASH_H @@ -124,8 +124,8 @@ Index: e2fsprogs-1.41.1/e2fsck/splash.h + Index: e2fsprogs-1.41.1/e2fsck/Makefile.in =================================================================== ---- e2fsprogs-1.41.1.orig/e2fsck/Makefile.in 2008-09-29 16:28:15.000000000 +0200 -+++ e2fsprogs-1.41.1/e2fsck/Makefile.in 2008-09-29 16:37:41.000000000 +0200 +--- e2fsprogs-1.41.1.orig/e2fsck/Makefile.in 2008-10-07 12:50:20.000000000 +0200 ++++ e2fsprogs-1.41.1/e2fsck/Makefile.in 2008-10-07 12:50:39.000000000 +0200 @@ -63,7 +63,7 @@ COMPILE_ET=$(top_builddir)/lib/et/compil OBJS= crc32.o dict.o unix.o e2fsck.o super.o pass1.o pass1b.o pass2.o \ pass3.o pass4.o pass5.o journal.o badblocks.o util.o dirinfo.o \ @@ -152,7 +152,7 @@ Index: e2fsprogs-1.41.1/e2fsck/Makefile.in Index: e2fsprogs-1.41.1/e2fsck/unix.c =================================================================== --- e2fsprogs-1.41.1.orig/e2fsck/unix.c 2008-09-01 17:34:28.000000000 +0200 -+++ e2fsprogs-1.41.1/e2fsck/unix.c 2008-09-29 16:28:15.000000000 +0200 ++++ e2fsprogs-1.41.1/e2fsck/unix.c 2008-10-07 12:50:39.000000000 +0200 @@ -53,6 +53,7 @@ extern int optind; #include "e2p/e2p.h" #include "e2fsck.h" diff --git a/e2fsprogs.changes b/e2fsprogs.changes index 477b9de..997ec0a 100644 --- a/e2fsprogs.changes +++ b/e2fsprogs.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Oct 7 12:46:16 CEST 2008 - mkoenig@suse.de + +- e2fsck: fix e2fsck automatic blocksize detetion + ------------------------------------------------------------------- Mon Sep 29 18:28:40 CEST 2008 - mkoenig@suse.de diff --git a/e2fsprogs.spec b/e2fsprogs.spec index d3ad61b..a8a8ba4 100644 --- a/e2fsprogs.spec +++ b/e2fsprogs.spec @@ -27,7 +27,7 @@ Supplements: filesystem(ext2) filesystem(ext3) PreReq: %install_info_prereq AutoReqProv: on Version: 1.41.1 -Release: 9 +Release: 10 Summary: Utilities for the Second Extended File System Url: http://e2fsprogs.sourceforge.net Source: %{name}-%{version}.tar.bz2 @@ -44,6 +44,7 @@ Patch3: e2fsprogs-libvolume_id-support.patch Patch5: e2fsprogs-1.40.4-uuidd_pid_path.patch Patch6: e2fsprogs-1.41.1-link_fix.patch Patch7: e2fsprogs-1.41.1-splash_support.patch +Patch8: e2fsprogs-1.41.1-e2fsck_fix_automatic_blocksize_detection.patch # libcom_err patches # 66534 - [SL 10.0] et_list handling of krb5 and libcom_err.so.2 conflict Patch31: libcom_err-no-init_error_table.patch @@ -247,6 +248,7 @@ Authors: %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 # libcom_err patches %patch31 -p1 %patch32 -p1 @@ -468,6 +470,8 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man3/com_err.3.gz %changelog +* Tue Oct 07 2008 mkoenig@suse.de +- e2fsck: fix e2fsck automatic blocksize detetion * Mon Sep 29 2008 mkoenig@suse.de - e2fsck: shut off splash screen when check is needed [bnc#237283] * Mon Sep 15 2008 mkoenig@suse.de