forked from pool/e2fsprogs
Rev openSUSE:Factory/21 Md5 73b605b9b983529dfdde9fa43c5ec782 2008-03-07 19:27:55 unknown None
This commit is contained in:
parent
ca2f34433a
commit
7f79e6b6f4
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:29c72055c3f79b0fe41556b1dc887a0806a4e7b1670c345dc10f0582294ced04
|
||||
size 3663614
|
50
e2fsprogs-1.40.7-fix_ext2fs_swap_inode_full.patch
Normal file
50
e2fsprogs-1.40.7-fix_ext2fs_swap_inode_full.patch
Normal file
@ -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 <sandeen@redhat.com>
|
||||
---
|
||||
|
||||
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),
|
||||
|
3
e2fsprogs-1.40.7.tar.bz2
Normal file
3
e2fsprogs-1.40.7.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:02491e8e0dd569fa0762556632b8a562c794a902d4881fa0420cebae52926e54
|
||||
size 3681509
|
@ -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);
|
||||
|
@ -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 $@"
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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))) {
|
Loading…
Reference in New Issue
Block a user