summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--RELEASE-NOTES13
-rw-r--r--debian/changelog13
-rw-r--r--depfix.sed4
-rw-r--r--doc/libext2fs.texinfo8
-rw-r--r--e2fsprogs.lsm10
-rw-r--r--lib/blkid/Makefile.in37
-rw-r--r--lib/ext2fs/Makefile.in4
-rw-r--r--lib/uuid/Makefile.in30
-rw-r--r--po/e2fsprogs.pot12
-rwxr-xr-xtests/scripts/mkdup49
-rw-r--r--version.h4
11 files changed, 138 insertions, 46 deletions
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 98436bed..c028ac4a 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -1,5 +1,5 @@
-E2fsprogs 1.42-WIP (November 20, 2011) -- f62516f33b
-=======================================
+E2fsprogs 1.42 (November 29, 2011)
+==================================
This release of e2fsprogs has support for file systems > 16TB. Online
resize requires kernel support which will hopefully be in Linux
@@ -16,6 +16,10 @@ kernels.
Added support for the Multi-Mount Protection (MMP) feature.
+E2fsck more efficiently uses scratch files for really big file
+systems. (This is a feature that has to be turned on explicitly; see
+[scratch_files] in the e2fsck.conf man page.)
+
Fix a bug in e2fsck where if the free blocks and inodes counts are
incorrect, e2fsck would fix them without printing an error message.
This would cause a "*** FILE SYSTEM WAS MODIFIED ***" message without
@@ -69,6 +73,9 @@ system.
E2fsck now returns additional status bits in its exit code if it
aborts early in the e2fsck run.
+E2fsck now correctly calculates the maximum file size in the case of
+the huge_file file system feature enabled without extents.
+
The mke2fs and e2fsck programs now tries to use the punch hole command
as a "discard" when operating on normal files.
@@ -2700,7 +2707,7 @@ loop forever on really big filesystems with a large inode count.
Fix memory leak in ext2fs_write_new_inode()
Add support for using a scratch files directory to reduce e2fsck's
-emory utilization on really big filesystems. This uses the TDB
+memory utilization on really big filesystems. This uses the TDB
library. See the [scratch_files] section of the e2fsck.conf man page
for more details.
diff --git a/debian/changelog b/debian/changelog
index ba7f2d42..236038de 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,16 @@
+e2fsprogs (1.42-1) unstable; urgency=low
+
+ * New upstream release
+ * Fixed hurd FTBFS (Closes: #649689)
+ * Optimized e2fsck speed on large file systems when using [scratch_files]
+ * Fixed e2fsck handling of blocks claimed by multiple inodes in
+ bigalloc file systems
+ * Fixed e2fsck's calculation of max file size for non-extent based
+ files when huge_file is enabled
+ * Update Czech and Swedish translations
+
+ -- Theodore Y. Ts'o <tytso@mit.edu> Tue, 29 Nov 2011 15:50:07 -0500
+
e2fsprogs (1.42~WIP-2011-11-20-1) unstable; urgency=low
* New upstream release
diff --git a/depfix.sed b/depfix.sed
index c73a8938..582d79fd 100644
--- a/depfix.sed
+++ b/depfix.sed
@@ -25,8 +25,8 @@ s/ */ /g
s;/usr/include/[^ ]* *;;g
s;/usr/lib/[^ ]* *;;g
s;/mit/cygnus[^ ]* *;;g
-s;../[^ ]*lib/blkid/blkid[^ ]* *;;g
-s;../[^ ]*lib/uuid/uuid.h[^ ]* *;;g
+s;\.\./[^ ]*lib/blkid/blkid[^ ]* *;;g
+s;\.\./[^ ]*lib/uuid/uuid.h[^ ]* *;;g
#
# Now insert a trailing newline...
diff --git a/doc/libext2fs.texinfo b/doc/libext2fs.texinfo
index d607396b..0b0d4bf5 100644
--- a/doc/libext2fs.texinfo
+++ b/doc/libext2fs.texinfo
@@ -1,7 +1,7 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename libext2fs.info
-@settitle The EXT2FS Library (version 1.41.14)
+@settitle The EXT2FS Library (version 1.42)
@synindex tp fn
@comment %**end of header
@@ -60,8 +60,8 @@ by the author.
@title The EXT2FS Library
@subtitle The EXT2FS Library
-@subtitle Version 1.41.14
-@subtitle December 2010
+@subtitle Version 1.42
+@subtitle November 2011
@author by Theodore Ts'o
@@ -102,7 +102,7 @@ by the Foundation.
@top The EXT2FS Library
-This manual documents the EXT2FS Library, version 1.41.14.
+This manual documents the EXT2FS Library, version 1.42.
@end ifinfo
diff --git a/e2fsprogs.lsm b/e2fsprogs.lsm
index acf2867a..43a650fb 100644
--- a/e2fsprogs.lsm
+++ b/e2fsprogs.lsm
@@ -1,16 +1,16 @@
Begin3
Title: EXT2 Filesystem utilities
-Version: 1.41.14
-Entered-date: 22Dec2010
+Version: 1.42
+Entered-date: 29Nov2011
Description: The filesystem utilities for the EXT2 filesystem, including
e2fsck, mke2fs, dumpe2fs, fsck, and others.
Keywords: utilities, fsck, filesystem, Ext2fs
Author: tytso@mit.edu (Theodore Tso)
Maintained-by: tytso@mit.edu (Theodore Tso)
Primary-site: download.sourceforge.net /pub/sourceforge/e2fsprogs
- 4408kB e2fsprogs-1.41.14.tar.gz
- 480kB e2fsprogs-libs-1.41.14.tar.gz
- 1kB e2fsprogs-1.41.14.lsm
+ 5580kB e2fsprogs-1.42.tar.gz
+ 504kB e2fsprogs-libs-1.42.tar.gz
+ 1kB e2fsprogs-1.42.lsm
Alternate-site:
Platforms: linux 1.2.x/1.3.x/2.0.x/2.1.x/2.2.x/2.3.x/2.4.x/2.5.x/2.6.x
Copying-policy: GPL-2/LGPL-2
diff --git a/lib/blkid/Makefile.in b/lib/blkid/Makefile.in
index e89318e1..f23a1376 100644
--- a/lib/blkid/Makefile.in
+++ b/lib/blkid/Makefile.in
@@ -195,15 +195,28 @@ $(OBJS): subdirs $(HFILES_IN)
# Makefile dependencies follow. This must be the last section in
# the Makefile.in file
#
-cache.o: $(srcdir)/cache.c $(srcdir)/list.h
-dev.o: $(srcdir)/dev.c $(srcdir)/list.h
-devname.o: $(srcdir)/devname.c $(srcdir)/list.h
-devno.o: $(srcdir)/devno.c $(srcdir)/list.h
-getsize.o: $(srcdir)/getsize.c $(srcdir)/list.h
-llseek.o: $(srcdir)/llseek.c $(srcdir)/list.h
-probe.o: $(srcdir)/probe.c $(srcdir)/list.h $(srcdir)/probe.h
-read.o: $(srcdir)/read.c $(srcdir)/list.h
-resolve.o: $(srcdir)/resolve.c $(srcdir)/list.h
-save.o: $(srcdir)/save.c $(srcdir)/list.h
-tag.o: $(srcdir)/tag.c $(srcdir)/list.h
-version.o: $(srcdir)/version.c $(top_srcdir)/version.h
+cache.o: $(srcdir)/cache.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h
+dev.o: $(srcdir)/dev.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h
+devname.o: $(srcdir)/devname.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h
+devno.o: $(srcdir)/devno.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h
+getsize.o: $(srcdir)/getsize.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h
+llseek.o: $(srcdir)/llseek.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h
+probe.o: $(srcdir)/probe.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h \
+ $(srcdir)/probe.h
+read.o: $(srcdir)/read.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h
+resolve.o: $(srcdir)/resolve.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h
+save.o: $(srcdir)/save.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h
+tag.o: $(srcdir)/tag.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h
+version.o: $(srcdir)/version.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(top_srcdir)/version.h
diff --git a/lib/ext2fs/Makefile.in b/lib/ext2fs/Makefile.in
index d9b04f9e..3d080953 100644
--- a/lib/ext2fs/Makefile.in
+++ b/lib/ext2fs/Makefile.in
@@ -617,7 +617,7 @@ finddev.o: $(srcdir)/finddev.c $(top_builddir)/lib/config.h \
$(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \
$(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
$(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
- $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h
+ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h $(srcdir)/ext2fsP.h
flushb.o: $(srcdir)/flushb.c $(top_builddir)/lib/config.h \
$(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \
$(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \
@@ -763,7 +763,7 @@ namei.o: $(srcdir)/namei.c $(top_builddir)/lib/config.h \
$(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \
$(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
$(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
- $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h
+ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h $(srcdir)/ext2fsP.h
native.o: $(srcdir)/native.c $(top_builddir)/lib/config.h \
$(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \
$(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \
diff --git a/lib/uuid/Makefile.in b/lib/uuid/Makefile.in
index 141b8dca..b85c7203 100644
--- a/lib/uuid/Makefile.in
+++ b/lib/uuid/Makefile.in
@@ -192,13 +192,23 @@ $(OBJS): subdirs uuid.h
# Makefile dependencies follow. This must be the last section in
# the Makefile.in file
#
-clear.o: $(srcdir)/clear.c $(srcdir)/uuidP.h
-compare.o: $(srcdir)/compare.c $(srcdir)/uuidP.h
-copy.o: $(srcdir)/copy.c $(srcdir)/uuidP.h
-gen_uuid.o: $(srcdir)/gen_uuid.c $(srcdir)/uuidP.h $(srcdir)/uuidd.h
-isnull.o: $(srcdir)/isnull.c $(srcdir)/uuidP.h
-pack.o: $(srcdir)/pack.c $(srcdir)/uuidP.h
-parse.o: $(srcdir)/parse.c $(srcdir)/uuidP.h
-unpack.o: $(srcdir)/unpack.c $(srcdir)/uuidP.h
-unparse.o: $(srcdir)/unparse.c $(srcdir)/uuidP.h
-uuid_time.o: $(srcdir)/uuid_time.c $(srcdir)/uuidP.h
+clear.o: $(srcdir)/clear.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h
+compare.o: $(srcdir)/compare.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h
+copy.o: $(srcdir)/copy.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h
+gen_uuid.o: $(srcdir)/gen_uuid.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h $(srcdir)/uuidd.h
+isnull.o: $(srcdir)/isnull.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h
+pack.o: $(srcdir)/pack.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h
+parse.o: $(srcdir)/parse.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h
+unpack.o: $(srcdir)/unpack.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h
+unparse.o: $(srcdir)/unparse.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h
+uuid_time.o: $(srcdir)/uuid_time.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h
diff --git a/po/e2fsprogs.pot b/po/e2fsprogs.pot
index 6b2726fd..4dff4e01 100644
--- a/po/e2fsprogs.pot
+++ b/po/e2fsprogs.pot
@@ -66,9 +66,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: e2fsprogs 1.42-WIP\n"
+"Project-Id-Version: e2fsprogs 1.42\n"
"Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
-"POT-Creation-Date: 2011-11-20 21:24-0500\n"
+"POT-Creation-Date: 2011-11-29 16:03-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -468,21 +468,21 @@ msgstr ""
msgid "multiply claimed inode map"
msgstr ""
-#: e2fsck/pass1b.c:599 e2fsck/pass1b.c:712
+#: e2fsck/pass1b.c:608 e2fsck/pass1b.c:727
#, c-format
msgid "internal error: can't find dup_blk for %llu\n"
msgstr ""
-#: e2fsck/pass1b.c:825
+#: e2fsck/pass1b.c:818
msgid "returned from clone_file_block"
msgstr ""
-#: e2fsck/pass1b.c:847
+#: e2fsck/pass1b.c:840
#, c-format
msgid "internal error: couldn't lookup EA block record for %llu"
msgstr ""
-#: e2fsck/pass1b.c:859
+#: e2fsck/pass1b.c:852
#, c-format
msgid "internal error: couldn't lookup EA inode record for %u"
msgstr ""
diff --git a/tests/scripts/mkdup b/tests/scripts/mkdup
new file mode 100755
index 00000000..c48a9f05
--- /dev/null
+++ b/tests/scripts/mkdup
@@ -0,0 +1,49 @@
+#!/bin/sh
+OPTS="-O bigalloc -C 8192"
+SIZE=4096
+IMG=/tmp/foo.img
+TMP=$(mktemp)
+SIZE_A=15000
+SIZE_B=5000
+SIZE_C=20000
+
+DEBUGFS=./debugfs/debugfs
+MKE2FS=./misc/mke2fs
+FSCK=./e2fsck/e2fsck
+
+dd if=/dev/zero of=$IMG bs=1k count=$SIZE
+echo $MKE2FS -F -t ext4 -L test $OPTS test.img $SIZE
+$MKE2FS -F -t ext4 -L test $OPTS $IMG $SIZE
+dd if=/dev/zero of=$TMP bs=$SIZE_A count=1 >& /dev/null
+echo Writing $SIZE_A bytes to a
+$DEBUGFS -w -R "write $TMP a" $IMG
+BLKS=$(./debugfs/debugfs -R "blocks a" $IMG)
+cp /dev/null $TMP
+echo "Releasing blocks $BLKS"
+for i in $BLKS ; do echo "freeb $i" >> $TMP; done
+$DEBUGFS -w $IMG < $TMP >& /dev/null
+
+echo Writing $SIZE_B bytes to b
+dd if=/dev/zero of=$TMP bs=$SIZE_B count=1 >& /dev/null
+$DEBUGFS -w -R "write $TMP b" $IMG
+if [ -n "$SIZE_C" ]; then
+ BLKS=$(./debugfs/debugfs -R "blocks b" $IMG)
+ cp /dev/null $TMP
+ echo "Releasing blocks $BLKS"
+ for i in $BLKS ; do echo "freeb $i" >> $TMP; done
+ $DEBUGFS -w $IMG < $TMP >& /dev/null
+
+ echo Writing $SIZE_C bytes to c
+ dd if=/dev/zero of=$TMP bs=$SIZE_C count=1 >& /dev/null
+ $DEBUGFS -w -R "write $TMP c" $IMG
+fi
+echo "set_inode_field a mtime 201107040000" > $TMP
+echo "set_inode_field b mtime 201107050000" >> $TMP
+if [ -n "$SIZE_C" ]; then
+ echo "set_inode_field c mtime 201107060000" >> $TMP
+fi
+$DEBUGFS -w $IMG < $TMP >& /dev/null
+
+$FSCK -fy $IMG
+rm $TMP
+
diff --git a/version.h b/version.h
index 161fd2c3..10c4d84b 100644
--- a/version.h
+++ b/version.h
@@ -7,5 +7,5 @@
* file may be redistributed under the GNU Public License v2.
*/
-#define E2FSPROGS_VERSION "1.42-WIP"
-#define E2FSPROGS_DATE "20-Nov-2011"
+#define E2FSPROGS_VERSION "1.42"
+#define E2FSPROGS_DATE "29-Nov-2011"