From 4e2070d203cf244b20d40a986f82aa89d639b4d9978cc415a482904d438058d0 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Fri, 7 Mar 2008 19:27:55 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/e2fsprogs?expand=0&rev=21 --- e2fsprogs-1.40.6.tar.bz2 | 3 - ...gs-1.40.7-fix_ext2fs_swap_inode_full.patch | 50 +++++++ e2fsprogs-1.40.7.tar.bz2 | 3 + e2fsprogs-libvolume_id-support.patch | 64 +-------- e2fsprogs-no_cmd_hiding.patch | 88 ++++++------ e2fsprogs.changes | 46 ++++++ e2fsprogs.spec | 54 ++++++- fsck-ignore-mounted.patch | 132 ------------------ 8 files changed, 195 insertions(+), 245 deletions(-) delete mode 100644 e2fsprogs-1.40.6.tar.bz2 create mode 100644 e2fsprogs-1.40.7-fix_ext2fs_swap_inode_full.patch create mode 100644 e2fsprogs-1.40.7.tar.bz2 delete mode 100644 fsck-ignore-mounted.patch diff --git a/e2fsprogs-1.40.6.tar.bz2 b/e2fsprogs-1.40.6.tar.bz2 deleted file mode 100644 index b7064bc..0000000 --- a/e2fsprogs-1.40.6.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:29c72055c3f79b0fe41556b1dc887a0806a4e7b1670c345dc10f0582294ced04 -size 3663614 diff --git a/e2fsprogs-1.40.7-fix_ext2fs_swap_inode_full.patch b/e2fsprogs-1.40.7-fix_ext2fs_swap_inode_full.patch new file mode 100644 index 0000000..84802b8 --- /dev/null +++ b/e2fsprogs-1.40.7-fix_ext2fs_swap_inode_full.patch @@ -0,0 +1,50 @@ +After the fix for resize2fs's inode mover losing in-inode +extended attributes, the regression test I wrote caught +that the attrs were still getting lost on powerpc. + +Looks like the problem is that ext2fs_swap_inode_full() +isn't paying attention to whether or not the EA magic is +in hostorder, so it's not recognized (and not swapped) +on BE machines. Patch below seems to fix it. + +Yay for regression tests. ;) + +Signed-off-by: Eric Sandeen +--- + +Index: e2fsprogs-1.40.7/lib/ext2fs/swapfs.c +=================================================================== +--- e2fsprogs-1.40.7.orig/lib/ext2fs/swapfs.c ++++ e2fsprogs-1.40.7/lib/ext2fs/swapfs.c +@@ -133,7 +133,7 @@ void ext2fs_swap_inode_full(ext2_filsys + struct ext2_inode_large *f, int hostorder, + int bufsize) + { +- unsigned i, has_data_blocks, extra_isize; ++ unsigned i, has_data_blocks, extra_isize, attr_magic; + int islnk = 0; + __u32 *eaf, *eat; + +@@ -231,13 +231,17 @@ void ext2fs_swap_inode_full(ext2_filsys + + eaf = (__u32 *) (((char *) f) + sizeof(struct ext2_inode) + + extra_isize); +- +- if (ext2fs_swab32(*eaf) != EXT2_EXT_ATTR_MAGIC) +- return; /* it seems no magic here */ +- + eat = (__u32 *) (((char *) t) + sizeof(struct ext2_inode) + + extra_isize); ++ ++ if (hostorder) ++ attr_magic = *eaf; + *eat = ext2fs_swab32(*eaf); ++ if (!hostorder) ++ attr_magic = *eat; ++ ++ if (attr_magic != EXT2_EXT_ATTR_MAGIC) ++ return; /* it seems no magic here */ + + /* convert EA(s) */ + ext2fs_swap_ext_attr((char *) (eat + 1), (char *) (eaf + 1), + diff --git a/e2fsprogs-1.40.7.tar.bz2 b/e2fsprogs-1.40.7.tar.bz2 new file mode 100644 index 0000000..a5762b8 --- /dev/null +++ b/e2fsprogs-1.40.7.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02491e8e0dd569fa0762556632b8a562c794a902d4881fa0420cebae52926e54 +size 3681509 diff --git a/e2fsprogs-libvolume_id-support.patch b/e2fsprogs-libvolume_id-support.patch index e0ffda7..1bf7a53 100644 --- a/e2fsprogs-libvolume_id-support.patch +++ b/e2fsprogs-libvolume_id-support.patch @@ -6,8 +6,8 @@ Index: misc/Makefile.in DUMPE2FS_OBJS= dumpe2fs.o BADBLOCKS_OBJS= badblocks.o E2IMAGE_OBJS= e2image.o --FSCK_OBJS= fsck.o base_device.o -+FSCK_OBJS= fsck.o base_device.o fsck_udev.o +-FSCK_OBJS= fsck.o base_device.o ismounted.o ++FSCK_OBJS= fsck.o base_device.o ismounted.o fsck_udev.o BLKID_OBJS= blkid.o FILEFRAG_OBJS= filefrag.o @@ -57,34 +57,6 @@ Index: misc/base_device.c #include "fsck.h" -Index: misc/fsck.8.in -=================================================================== ---- misc/fsck.8.in.orig -+++ misc/fsck.8.in -@@ -8,7 +8,7 @@ fsck \- check and repair a Linux file sy - .SH SYNOPSIS - .B fsck - [ --.B \-sAVRTNP -+.B \-sAVRTMNP - ] - [ - .B \-C -@@ -236,6 +236,14 @@ in which case the progress bar informati - .B \-N - Don't execute, just show what would be done. - .TP -+.B \-M -+Emulate -+.BR mount (1) -+behaviour; do not check the filesystem if it's not listed in -+/etc/fstab or if -+.I fs_pass_no -+of the corresponding entry is zero. -+.TP - .B \-P - When the - .B \-A Index: misc/fsck.c =================================================================== --- misc/fsck.c.orig @@ -123,16 +95,7 @@ Index: misc/fsck.c if (t) { free(fs->type); fs->type = t; -@@ -1058,7 +1056,7 @@ static int check_all(NOARGS) - - static void usage(NOARGS) - { -- fputs(_("Usage: fsck [-ANPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"), stderr); -+ fputs(_("Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n"), stderr); - exit(EXIT_USAGE); - } - -@@ -1104,7 +1102,7 @@ static void PRS(int argc, char *argv[]) +@@ -1106,7 +1104,7 @@ static void PRS(int argc, char *argv[]) progname); exit(EXIT_ERROR); } @@ -141,7 +104,7 @@ Index: misc/fsck.c if (!dev && strchr(arg, '=')) { /* * Check to see if we failed because -@@ -1250,7 +1248,7 @@ int main(int argc, char *argv[]) +@@ -1252,7 +1250,7 @@ int main(int argc, char *argv[]) bindtextdomain(NLS_CAT_NAME, LOCALEDIR); textdomain(NLS_CAT_NAME); #endif @@ -150,24 +113,7 @@ Index: misc/fsck.c PRS(argc, argv); if (!notitle) -@@ -1297,6 +1295,16 @@ int main(int argc, char *argv[]) - break; - } - fs = lookup(devices[i]); -+ if (like_mount) { -+ /* -+ * Emulate mount behaviour: -+ * Do not check device if not found -+ * in /etc/fstab or if the passno -+ * is set to '0' -+ */ -+ if (!fs || ignore(fs)) -+ continue; -+ } - if (!fs) { - fs = create_fs_device(devices[i], 0, "auto", - 0, -1, -1); -@@ -1319,6 +1327,6 @@ int main(int argc, char *argv[]) +@@ -1323,6 +1321,6 @@ int main(int argc, char *argv[]) } status |= wait_many(FLAG_WAIT_ALL); free(fsck_path); diff --git a/e2fsprogs-no_cmd_hiding.patch b/e2fsprogs-no_cmd_hiding.patch index 8742b00..d040bb1 100644 --- a/e2fsprogs-no_cmd_hiding.patch +++ b/e2fsprogs-no_cmd_hiding.patch @@ -1,7 +1,7 @@ -Index: e2fsprogs-1.40.6/lib/Makefile.elf-lib +Index: e2fsprogs-1.40.7/lib/Makefile.elf-lib =================================================================== ---- e2fsprogs-1.40.6.orig/lib/Makefile.elf-lib -+++ e2fsprogs-1.40.6/lib/Makefile.elf-lib +--- e2fsprogs-1.40.7.orig/lib/Makefile.elf-lib ++++ e2fsprogs-1.40.7/lib/Makefile.elf-lib @@ -15,7 +15,7 @@ all:: image real-subdirs:: Makefile @@ -11,10 +11,10 @@ Index: e2fsprogs-1.40.6/lib/Makefile.elf-lib ELF_LIB = $(ELF_IMAGE).so.$(ELF_VERSION) ELF_SONAME = $(ELF_IMAGE).so.$(ELF_SO_VERSION) -Index: e2fsprogs-1.40.6/lib/ext2fs/Makefile.in +Index: e2fsprogs-1.40.7/lib/ext2fs/Makefile.in =================================================================== ---- e2fsprogs-1.40.6.orig/lib/ext2fs/Makefile.in -+++ e2fsprogs-1.40.6/lib/ext2fs/Makefile.in +--- e2fsprogs-1.40.7.orig/lib/ext2fs/Makefile.in ++++ e2fsprogs-1.40.7/lib/ext2fs/Makefile.in @@ -164,12 +164,11 @@ BSDLIB_INSTALL_DIR = $(root_libdir) all:: ext2fs.pc @@ -123,10 +123,10 @@ Index: e2fsprogs-1.40.6/lib/ext2fs/Makefile.in @-$(RANLIB) $(DESTDIR)$(libdir)/libext2fs.a @$(CHMOD) $(LIBMODE) $(DESTDIR)$(libdir)/libext2fs.a @for i in $(HFILES); do \ -Index: e2fsprogs-1.40.6/lib/blkid/Makefile.in +Index: e2fsprogs-1.40.7/lib/blkid/Makefile.in =================================================================== ---- e2fsprogs-1.40.6.orig/lib/blkid/Makefile.in -+++ e2fsprogs-1.40.6/lib/blkid/Makefile.in +--- e2fsprogs-1.40.7.orig/lib/blkid/Makefile.in ++++ e2fsprogs-1.40.7/lib/blkid/Makefile.in @@ -54,8 +54,7 @@ LIBS_BLKID= $(STATIC_LIBBLKID) $(STATIC_ DEPLIBS_BLKID= $(DEPSTATIC_LIBBLKID) $(DEPSTATIC_LIBUUID) @@ -208,10 +208,10 @@ Index: e2fsprogs-1.40.6/lib/blkid/Makefile.in test_probe: test_probe.in Makefile @echo "Creating test_probe..." -Index: e2fsprogs-1.40.6/lib/e2p/Makefile.in +Index: e2fsprogs-1.40.7/lib/e2p/Makefile.in =================================================================== ---- e2fsprogs-1.40.6.orig/lib/e2p/Makefile.in -+++ e2fsprogs-1.40.6/lib/e2p/Makefile.in +--- e2fsprogs-1.40.7.orig/lib/e2p/Makefile.in ++++ e2fsprogs-1.40.7/lib/e2p/Makefile.in @@ -53,8 +53,7 @@ BSDLIB_INSTALL_DIR = $(root_libdir) @MAKEFILE_CHECKER@ @@ -232,10 +232,10 @@ Index: e2fsprogs-1.40.6/lib/e2p/Makefile.in $(srcdir)/ostype.c $(ALL_CFLAGS) check:: tst_ostype -Index: e2fsprogs-1.40.6/lib/ss/Makefile.in +Index: e2fsprogs-1.40.7/lib/ss/Makefile.in =================================================================== ---- e2fsprogs-1.40.6.orig/lib/ss/Makefile.in -+++ e2fsprogs-1.40.6/lib/ss/Makefile.in +--- e2fsprogs-1.40.7.orig/lib/ss/Makefile.in ++++ e2fsprogs-1.40.7/lib/ss/Makefile.in @@ -37,12 +37,11 @@ MK_CMDS=_SS_DIR_OVERRIDE=. ./mk_cmds XTRA_CFLAGS= -I$(srcdir)/../et @@ -287,10 +287,10 @@ Index: e2fsprogs-1.40.6/lib/ss/Makefile.in $(LIBSS) $(LIBCOM_ERR) check:: all test_ss -Index: e2fsprogs-1.40.6/lib/uuid/Makefile.in +Index: e2fsprogs-1.40.7/lib/uuid/Makefile.in =================================================================== ---- e2fsprogs-1.40.6.orig/lib/uuid/Makefile.in -+++ e2fsprogs-1.40.6/lib/uuid/Makefile.in +--- e2fsprogs-1.40.7.orig/lib/uuid/Makefile.in ++++ e2fsprogs-1.40.7/lib/uuid/Makefile.in @@ -60,12 +60,11 @@ BSDLIB_INSTALL_DIR = $(root_libdir) @MAKEFILE_CHECKER@ @@ -375,10 +375,10 @@ Index: e2fsprogs-1.40.6/lib/uuid/Makefile.in uuid.pc: $(srcdir)/uuid.pc.in $(top_builddir)/config.status @echo " CONFIG.STATUS $@" -Index: e2fsprogs-1.40.6/e2fsck/Makefile.in +Index: e2fsprogs-1.40.7/e2fsck/Makefile.in =================================================================== ---- e2fsprogs-1.40.6.orig/e2fsck/Makefile.in -+++ e2fsprogs-1.40.6/e2fsck/Makefile.in +--- e2fsprogs-1.40.7.orig/e2fsck/Makefile.in ++++ e2fsprogs-1.40.7/e2fsck/Makefile.in @@ -33,9 +33,8 @@ PROFILED_DEPLIBS= $(PROFILED_LIBEXT2FS) COMPILE_ET=$(top_builddir)/lib/et/compile_et --build-tree @@ -465,8 +465,8 @@ Index: e2fsprogs-1.40.6/e2fsck/Makefile.in + $(MKINSTALLDIRS) $(DESTDIR)$(root_sbindir) \ $(DESTDIR)$(man8dir) $(DESTDIR)$(man5dir) - install: $(PROGS) $(MANPAGES) installdirs -@@ -177,11 +164,9 @@ install: $(PROGS) $(MANPAGES) installdir + install: $(PROGS) $(MANPAGES) $(FMANPAGES) installdirs +@@ -177,11 +164,9 @@ install: $(PROGS) $(MANPAGES) $(FMANPAGE echo " INSTALL $(root_sbindir)/$$i"; \ $(INSTALL_PROGRAM) $$i $(DESTDIR)$(root_sbindir)/$$i; \ done @@ -480,7 +480,7 @@ Index: e2fsprogs-1.40.6/e2fsck/Makefile.in $(DESTDIR)$(root_sbindir)/fsck.ext3 @for i in $(MANPAGES); do \ for j in $(COMPRESS_EXT); do \ -@@ -197,11 +182,9 @@ install: $(PROGS) $(MANPAGES) installdir +@@ -197,11 +182,9 @@ install: $(PROGS) $(MANPAGES) $(FMANPAGE echo " INSTALL_DATA $(man5dir)/$$i"; \ $(INSTALL_DATA) $$i $(DESTDIR)$(man5dir)/$$i; \ done @@ -494,10 +494,10 @@ Index: e2fsprogs-1.40.6/e2fsck/Makefile.in $(DESTDIR)$(man8dir)/fsck.ext3.8 install-strip: install -Index: e2fsprogs-1.40.6/debugfs/Makefile.in +Index: e2fsprogs-1.40.7/debugfs/Makefile.in =================================================================== ---- e2fsprogs-1.40.6.orig/debugfs/Makefile.in -+++ e2fsprogs-1.40.6/debugfs/Makefile.in +--- e2fsprogs-1.40.7.orig/debugfs/Makefile.in ++++ e2fsprogs-1.40.7/debugfs/Makefile.in @@ -30,26 +30,21 @@ LIBS= $(LIBEXT2FS) $(LIBE2P) $(LIBSS) $( DEPLIBS= $(LIBEXT2FS) $(LIBE2P) $(LIBSS) $(LIBCOM_ERR) $(DEPLIBBLKID) $(DEPLIBUUID) @@ -530,10 +530,10 @@ Index: e2fsprogs-1.40.6/debugfs/Makefile.in $(DESTDIR)$(man8dir) install: $(PROGS) $(MANPAGES) installdirs -Index: e2fsprogs-1.40.6/resize/Makefile.in +Index: e2fsprogs-1.40.7/resize/Makefile.in =================================================================== ---- e2fsprogs-1.40.6.orig/resize/Makefile.in -+++ e2fsprogs-1.40.6/resize/Makefile.in +--- e2fsprogs-1.40.7.orig/resize/Makefile.in ++++ e2fsprogs-1.40.7/resize/Makefile.in @@ -34,31 +34,25 @@ STATIC_LIBS= $(STATIC_LIBE2P) $(STATIC_L STATIC_DEPLIBS= $(STATIC_LIBE2P) $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) @@ -572,10 +572,10 @@ Index: e2fsprogs-1.40.6/resize/Makefile.in $(DESTDIR)$(man8dir) install: $(PROGS) $(MANPAGES) installdirs -Index: e2fsprogs-1.40.6/util/Makefile.in +Index: e2fsprogs-1.40.7/util/Makefile.in =================================================================== ---- e2fsprogs-1.40.6.orig/util/Makefile.in -+++ e2fsprogs-1.40.6/util/Makefile.in +--- e2fsprogs-1.40.7.orig/util/Makefile.in ++++ e2fsprogs-1.40.7/util/Makefile.in @@ -14,20 +14,17 @@ SRCS = $(srcdir)/subst.c @MCONFIG@ @@ -600,10 +600,10 @@ Index: e2fsprogs-1.40.6/util/Makefile.in gen-tarball: $(srcdir)/gen-tarball.in $(top_builddir)/config.status @echo " CONFIG.STATUS $@" -Index: e2fsprogs-1.40.6/tests/progs/Makefile.in +Index: e2fsprogs-1.40.7/tests/progs/Makefile.in =================================================================== ---- e2fsprogs-1.40.6.orig/tests/progs/Makefile.in -+++ e2fsprogs-1.40.6/tests/progs/Makefile.in +--- e2fsprogs-1.40.7.orig/tests/progs/Makefile.in ++++ e2fsprogs-1.40.7/tests/progs/Makefile.in @@ -25,26 +25,21 @@ LIBS= $(LIBEXT2FS) $(LIBSS) $(LIBCOM_ERR DEPLIBS= $(LIBEXT2FS) $(LIBSS) $(LIBCOM_ERR) @@ -636,10 +636,10 @@ Index: e2fsprogs-1.40.6/tests/progs/Makefile.in clean: $(RM) -f $(PROGS) test_rel_cmds.c test_icount_cmds.c \ -Index: e2fsprogs-1.40.6/lib/et/Makefile.in +Index: e2fsprogs-1.40.7/lib/et/Makefile.in =================================================================== ---- e2fsprogs-1.40.6.orig/lib/et/Makefile.in -+++ e2fsprogs-1.40.6/lib/et/Makefile.in +--- e2fsprogs-1.40.7.orig/lib/et/Makefile.in ++++ e2fsprogs-1.40.7/lib/et/Makefile.in @@ -41,12 +41,11 @@ BSDLIB_INSTALL_DIR = $(root_libdir) # what to build... # @@ -658,10 +658,10 @@ Index: e2fsprogs-1.40.6/lib/et/Makefile.in @MAKEFILE_LIBRARY@ @MAKEFILE_ELF@ -Index: e2fsprogs-1.40.6/misc/Makefile.in +Index: e2fsprogs-1.40.7/misc/Makefile.in =================================================================== ---- e2fsprogs-1.40.6.orig/misc/Makefile.in -+++ e2fsprogs-1.40.6/misc/Makefile.in +--- e2fsprogs-1.40.7.orig/misc/Makefile.in ++++ e2fsprogs-1.40.7/misc/Makefile.in @@ -71,8 +71,7 @@ DEPLIBS_E2P= $(LIBE2P) $(LIBCOM_ERR) COMPILE_ET=$(top_builddir)/lib/et/compile_et --build-tree @@ -782,5 +782,5 @@ Index: e2fsprogs-1.40.6/misc/Makefile.in - @$(CC) $(ALL_LDFLAGS) -o filefrag $(FILEFRAG_OBJS) + $(CC) $(ALL_LDFLAGS) -o filefrag $(FILEFRAG_OBJS) - tune2fs.8: $(DEP_SUBSTITUTE) $(srcdir)/tune2fs.8.in - @echo " SUBST $@" + tst_ismounted: $(srcdir)/ismounted.c $(STATIC_LIBEXT2FS) + @echo " LD $@" diff --git a/e2fsprogs.changes b/e2fsprogs.changes index da36c8c..e2a643e 100644 --- a/e2fsprogs.changes +++ b/e2fsprogs.changes @@ -1,3 +1,49 @@ +------------------------------------------------------------------- +Tue Mar 4 15:36:51 CET 2008 - mkoenig@suse.de + +- update to version 1.40.7 + * Remove support for clearing the SPARSE_SUPER feature from tune2fs, and + depreciate the -s option, since it can result in filesystems which + e2fsck can't fix easily. There are very good reasons for wanting to + disable sparse_super; users who wants to turn off sparse_super can use + debugfs. + * Add missing options to mke2fs's usage message + * Fix bug in resize2fs when large (greater than 128 byte) inodes are + moved when a filesystem is shrunk + * E2fsck now prints an explicit message when the bad block inode is + updated, to avoid confusion about why the filesystem was modified. + * Allow mke2fs and tune2fs manipulate the large_file feature. + Previously we just let the kernel and e2fsck do this automatically, + but e2fsck will no longer automatically clear the large_file feature + * Suppress message about an old-style fstab if the fstab file is empty + * Change e2fsck to no longer clear the LARGE_FILES feature flag + automatically, when there are no more > 2GB files in the filesystem. + * Fix bug which could cause libblkid to seg fault if a device mapper + volume disappears while it is being probed. + * Enhance e2fsck's reporting of unsupported filesystem feature flags + * Fix option syntax in dumpe2fs for explicit superblock and blocksize + parameters + * Add support to tune2fs to clear the resize_inode feature + * Teach blkid to detect LVM2 physical volumes + * Add support for setting RAID stride and stripe-width via mke2fs and + tune2fs. Teach dumpe2fs to print the RAID parameters + * Add support for setting new superblock fields to debugfs's + set_super_value + * Add support for printing "mostly-printable" extended attributes in + Debugfs + * Add support for the -M option to fsck, which causes it to ignore + mounted filesystem + * Fix uuidd so that it creates the pid file with the correct pid number +- The -M option is now used upstream to ignore mounted filesystems, + this has previously been in SuSE with -m. This has to be changed + since lower case characters are reserved for filesystem specific + checker options. The "like mount" behaviour previously in SuSE + with -M has been removed. +- add patch from Eric Sandeen to fix the loss of extended attributes + in large inodes upon resize +- removed patches + fsck-ignore-mounted.patch + ------------------------------------------------------------------- Wed Feb 27 15:52:04 CET 2008 - mkoenig@suse.de diff --git a/e2fsprogs.spec b/e2fsprogs.spec index 7317e32..236e4e7 100644 --- a/e2fsprogs.spec +++ b/e2fsprogs.spec @@ -1,5 +1,5 @@ # -# spec file for package e2fsprogs (Version 1.40.6) +# spec file for package e2fsprogs (Version 1.40.7) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -19,7 +19,7 @@ Group: System/Filesystems Supplements: filesystem(ext2) filesystem(ext3) PreReq: %install_info_prereq AutoReqProv: on -Version: 1.40.6 +Version: 1.40.7 Release: 1 Summary: Utilities for the Second Extended File System Url: http://e2fsprogs.sourceforge.net @@ -31,14 +31,11 @@ Source4: sysconfig.uuidd # # e2fsprogs patches # -# 100530 - not all installed partitions offered for upgrade Patch1: e2fsprogs-mdraid.patch Patch2: e2fsprogs-base_devt.patch Patch3: e2fsprogs-libvolume_id-support.patch -# 145400 - boot.localfs: Tries to check r/w mounted systems -# 146606 - /boot and other file systems mounted, not check-able after installation -Patch4: fsck-ignore-mounted.patch Patch5: e2fsprogs-1.40.4-uuidd_pid_path.patch +Patch6: e2fsprogs-1.40.7-fix_ext2fs_swap_inode_full.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 @@ -231,8 +228,8 @@ Authors: %patch1 %patch2 -p1 %patch3 -p0 -%patch4 %patch5 -p1 +%patch6 -p1 # libcom_err patches %patch31 -p1 %patch32 -p1 @@ -443,6 +440,49 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man3/com_err.3.gz %changelog +* Tue Mar 04 2008 mkoenig@suse.de +- update to version 1.40.7 + * Remove support for clearing the SPARSE_SUPER feature from tune2fs, and + depreciate the -s option, since it can result in filesystems which + e2fsck can't fix easily. There are very good reasons for wanting to + disable sparse_super; users who wants to turn off sparse_super can use + debugfs. + * Add missing options to mke2fs's usage message + * Fix bug in resize2fs when large (greater than 128 byte) inodes are + moved when a filesystem is shrunk + * E2fsck now prints an explicit message when the bad block inode is + updated, to avoid confusion about why the filesystem was modified. + * Allow mke2fs and tune2fs manipulate the large_file feature. + Previously we just let the kernel and e2fsck do this automatically, + but e2fsck will no longer automatically clear the large_file feature + * Suppress message about an old-style fstab if the fstab file is empty + * Change e2fsck to no longer clear the LARGE_FILES feature flag + automatically, when there are no more > 2GB files in the filesystem. + * Fix bug which could cause libblkid to seg fault if a device mapper + volume disappears while it is being probed. + * Enhance e2fsck's reporting of unsupported filesystem feature flags + * Fix option syntax in dumpe2fs for explicit superblock and blocksize + parameters + * Add support to tune2fs to clear the resize_inode feature + * Teach blkid to detect LVM2 physical volumes + * Add support for setting RAID stride and stripe-width via mke2fs and + tune2fs. Teach dumpe2fs to print the RAID parameters + * Add support for setting new superblock fields to debugfs's + set_super_value + * Add support for printing "mostly-printable" extended attributes in + Debugfs + * Add support for the -M option to fsck, which causes it to ignore + mounted filesystem + * Fix uuidd so that it creates the pid file with the correct pid number +- The -M option is now used upstream to ignore mounted filesystems, + this has previously been in SuSE with -m. This has to be changed + since lower case characters are reserved for filesystem specific + checker options. The "like mount" behaviour previously in SuSE + with -M has been removed. +- add patch from Eric Sandeen to fix the loss of extended attributes + in large inodes upon resize +- removed patches + fsck-ignore-mounted.patch * Wed Feb 27 2008 mkoenig@suse.de - update to version 1.40.6 * Add support for returning labels for UDF filesystems in the blkid diff --git a/fsck-ignore-mounted.patch b/fsck-ignore-mounted.patch deleted file mode 100644 index 50d2532..0000000 --- a/fsck-ignore-mounted.patch +++ /dev/null @@ -1,132 +0,0 @@ ---- misc/fsck.8.in -+++ misc/fsck.8.in -@@ -180,6 +180,10 @@ - will use the specified filesystem type. If this type is not - available, then the default file system type (currently ext2) is used. - .TP -+.B \-m -+Do not check mounted filesystems and return an exit code of 0 -+for mounted filesystems. -+.TP - .B \-A - Walk through the - .I /etc/fstab ---- misc/fsck.c -+++ misc/fsck.c -@@ -102,6 +102,7 @@ - int serialize = 0; - int skip_root = 0; - int like_mount = 0; -+int ignore_mounted = 0; - int notitle = 0; - int parallel_root = 0; - int progress = 0; -@@ -851,6 +852,56 @@ - return (cmp->negate ? !ret : ret); - } - -+/* Check to see whether a filesystem is already mounted */ -+static int is_mounted(struct fs_info *fs) -+{ -+ struct stat st_buf; -+ dev_t fs_rdev; -+ char *testdir; -+ int retval = 0; -+ -+ if (!fs->mountpt) { -+ /* -+ * We have already read /proc/mounts -+ * so any device without a mountpoint -+ * is indeed not mounted. -+ */ -+ return 0; -+ } -+ -+ if (!strcmp(fs->mountpt,"/")) { -+ /* Root should be always mounted */ -+ return 1; -+ } -+ -+ if (stat(fs->mountpt, &st_buf) < 0) -+ return 0; -+ -+ if (!S_ISDIR(st_buf.st_mode)) { -+ /* This is not a directory, cannot be mounted */ -+ return 0; -+ } -+ -+ fs_rdev = st_buf.st_dev; -+ -+ /* Compare with the upper directory */ -+ testdir = malloc(strlen(fs->mountpt) + 4); -+ strcpy(testdir,fs->mountpt); -+ if (fs->mountpt[strlen(fs->mountpt) - 1] == '/') -+ strcat(testdir,".."); -+ else -+ strcat(testdir,"/.."); -+ -+ if (stat(testdir, &st_buf) == 0) { -+ if (st_buf.st_dev != fs_rdev) { -+ retval = 1; -+ } -+ } -+ free(testdir); -+ -+ return retval; -+} -+ - /* Check if we should ignore this filesystem. */ - static int ignore(struct fs_info *fs) - { -@@ -997,6 +1048,15 @@ - not_done_yet++; - continue; - } -+ if (ignore_mounted) { -+ /* -+ * Ignore mounted devices. -+ */ -+ if (is_mounted(fs)) { -+ fs->flags |= FLAG_DONE; -+ continue; -+ } -+ } - /* - * If a filesystem on a particular device has - * already been spawned, then we need to defer -@@ -1174,6 +1234,9 @@ - case 'P': - parallel_root++; - break; -+ case 'm': -+ ignore_mounted++; -+ break; - case 's': - serialize++; - break; -@@ -1249,6 +1312,10 @@ - fstab = _PATH_MNTTAB; - load_fs_info(fstab); - -+ /* Load info from /proc/mounts, too */ -+ if (ignore_mounted) -+ load_fs_info("/proc/mounts"); -+ - /* Update our search path to include uncommon directories. */ - if (oldpath) { - fsck_path = malloc (strlen (fsck_prefix_path) + 1 + -@@ -1301,6 +1368,14 @@ - if (!fs) - continue; - } -+ if (ignore_mounted) { -+ /* -+ * Ignore mounted devices. -+ */ -+ if (is_mounted(fs)) { -+ continue; -+ } -+ } - fsck_device(fs, interactive); - if (serialize || - (max_running && (num_running >= max_running))) {