summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Sandeen <sandeen@fedoraproject.org>2010-01-23 04:37:28 +0000
committerEric Sandeen <sandeen@fedoraproject.org>2010-01-23 04:37:28 +0000
commita12de76e3b838d44866078f36fa5a51387826582 (patch)
treef0d981d36cdf5d1dbe428e1651e24685c6d20f9f
parent1b50ffe597a17194dae0a0481df8a73ba6403ff1 (diff)
downloade2fsprogs-a12de76e3b838d44866078f36fa5a51387826582.tar.gz
e2fsprogs-a12de76e3b838d44866078f36fa5a51387826582.tar.xz
e2fsprogs-a12de76e3b838d44866078f36fa5a51387826582.zip
* Fri Jan 22 2010 Eric Sandeen <sandeen@redhat.com> 1.41.9-1
- Update to current upstream
-rw-r--r--e2fsprogs-1.38-etcblkid.patch54
-rw-r--r--e2fsprogs-1.40.4-sb_feature_check_ignore.patch26
-rw-r--r--e2fsprogs-1.41.4-debugfs-stat-segfault.patch23
-rw-r--r--e2fsprogs-1.41.4-dev-mapper-names.patch68
-rw-r--r--e2fsprogs-1.41.4-ext4-resize-fixes.patch241
-rw-r--r--e2fsprogs-1.41.4-extent-open-leak.patch28
-rw-r--r--e2fsprogs-1.41.4-fix-blkid-segfault.patch56
-rw-r--r--e2fsprogs-1.41.4-fix-external-journals.patch42
-rw-r--r--e2fsprogs-1.41.4-i_file_acl_high-fix.patch79
-rw-r--r--e2fsprogs-1.41.4-ignore-NEEDS_RECOVERY-mismatch.patch37
-rw-r--r--e2fsprogs-1.41.4-libext2fs-info.patch13
-rw-r--r--e2fsprogs-1.41.4-minimum-resize.patch93
-rw-r--r--e2fsprogs-1.41.4-update-sb-journal-backup.patch89
-rw-r--r--e2fsprogs.spec49
-rw-r--r--sources2
15 files changed, 53 insertions, 847 deletions
diff --git a/e2fsprogs-1.38-etcblkid.patch b/e2fsprogs-1.38-etcblkid.patch
index f85ecce..8dfbdba 100644
--- a/e2fsprogs-1.38-etcblkid.patch
+++ b/e2fsprogs-1.38-etcblkid.patch
@@ -1,7 +1,7 @@
-Index: e2fsprogs-1.41.1/doc/libblkid.txt
+Index: e2fsprogs-1.41.9/doc/libblkid.txt
===================================================================
---- e2fsprogs-1.41.1.orig/doc/libblkid.txt 2007-06-30 07:58:34.000000000 -0500
-+++ e2fsprogs-1.41.1/doc/libblkid.txt 2008-10-01 13:20:34.303063944 -0500
+--- e2fsprogs-1.41.9.orig/doc/libblkid.txt
++++ e2fsprogs-1.41.9/doc/libblkid.txt
@@ -58,7 +58,7 @@ type, or label, or uuid for a particular
}
@@ -20,10 +20,10 @@ Index: e2fsprogs-1.41.1/doc/libblkid.txt
If you have called blkid_get_cache(), you should call blkid_put_cache()
when you are done using the blkid library functions. This will save the
-Index: e2fsprogs-1.41.1/misc/blkid.8.in
+Index: e2fsprogs-1.41.9/misc/blkid.8.in
===================================================================
---- e2fsprogs-1.41.1.orig/misc/blkid.8.in 2008-08-24 23:19:56.000000000 -0500
-+++ e2fsprogs-1.41.1/misc/blkid.8.in 2008-10-01 13:20:34.303063944 -0500
+--- e2fsprogs-1.41.9.orig/misc/blkid.8.in
++++ e2fsprogs-1.41.9/misc/blkid.8.in
@@ -55,7 +55,7 @@ more devices.
Read from
.I cachefile
@@ -42,10 +42,10 @@ Index: e2fsprogs-1.41.1/misc/blkid.8.in
If you don't want to save the cache to the default file, specify
.IR /dev/null.
If not specified it will be the same file as that given by the
-Index: e2fsprogs-1.41.1/misc/blkid.c
+Index: e2fsprogs-1.41.9/misc/blkid.c
===================================================================
---- e2fsprogs-1.41.1.orig/misc/blkid.c 2008-08-28 09:26:31.000000000 -0500
-+++ e2fsprogs-1.41.1/misc/blkid.c 2008-10-01 13:20:54.787002093 -0500
+--- e2fsprogs-1.41.9.orig/misc/blkid.c
++++ e2fsprogs-1.41.9/misc/blkid.c
@@ -52,7 +52,7 @@ static void usage(int error)
fprintf(out,
"usage:\t%s [-c <file>] [-ghlLv] [-o format] "
@@ -55,23 +55,23 @@ Index: e2fsprogs-1.41.1/misc/blkid.c
"\t-h\tprint this usage message and exit\n"
"\t-g\tgarbage collect the blkid cache\n"
"\t-s\tshow specified tag(s) (default show all tags)\n"
-Index: e2fsprogs-1.41.1/lib/blkid/Makefile.in
+Index: e2fsprogs-1.41.9/lib/blkid/Makefile.in
===================================================================
---- e2fsprogs-1.41.1.orig/lib/blkid/Makefile.in 2008-08-28 09:26:31.000000000 -0500
-+++ e2fsprogs-1.41.1/lib/blkid/Makefile.in 2008-10-01 13:20:34.338002746 -0500
+--- e2fsprogs-1.41.9.orig/lib/blkid/Makefile.in
++++ e2fsprogs-1.41.9/lib/blkid/Makefile.in
@@ -142,9 +142,10 @@ blkid.pc: $(srcdir)/blkid.pc.in $(top_bu
- @cd $(top_builddir); CONFIG_FILES=lib/blkid/blkid.pc ./config.status
+ $(Q) cd $(top_builddir); CONFIG_FILES=lib/blkid/blkid.pc ./config.status
installdirs::
-- @echo " MKINSTALLDIRS $(libdir) $(includedir)/blkid"
-+ @echo " MKINSTALLDIRS $(libdir) $(includedir)/blkid /etc/blkid"
- @$(MKINSTALLDIRS) $(DESTDIR)$(libdir) \
+- $(E) " MKINSTALLDIRS $(libdir) $(includedir)/blkid"
++ $(E) " MKINSTALLDIRS $(libdir) $(includedir)/blkid /etc/blkid"
+ $(Q) $(MKINSTALLDIRS) $(DESTDIR)$(libdir) \
- $(DESTDIR)$(includedir)/blkid $(DESTDIR)$(libdir)/pkgconfig
+ $(DESTDIR)$(includedir)/blkid $(DESTDIR)$(libdir)/pkgconfig \
+ $(DESTDIR)/etc/blkid
install:: all installdirs
- @echo " INSTALL_DATA $(libdir)/libblkid.a"
+ $(E) " INSTALL_DATA $(libdir)/libblkid.a"
@@ -170,6 +171,7 @@ uninstall::
$(RM) -f $(DESTDIR)$(libdir)/libblkid.a \
$(DESTDIR)$(libdir)/pkgconfig/blkid.pc
@@ -80,10 +80,10 @@ Index: e2fsprogs-1.41.1/lib/blkid/Makefile.in
for i in $(SMANPAGES); do \
$(RM) -f $(DESTDIR)$(man3dir)/$$i; \
done
-Index: e2fsprogs-1.41.1/lib/blkid/libblkid.3.in
+Index: e2fsprogs-1.41.9/lib/blkid/libblkid.3.in
===================================================================
---- e2fsprogs-1.41.1.orig/lib/blkid/libblkid.3.in 2008-08-24 23:19:56.000000000 -0500
-+++ e2fsprogs-1.41.1/lib/blkid/libblkid.3.in 2008-10-01 13:21:23.992001339 -0500
+--- e2fsprogs-1.41.9.orig/lib/blkid/libblkid.3.in
++++ e2fsprogs-1.41.9/lib/blkid/libblkid.3.in
@@ -24,7 +24,7 @@ A common use is to allow use of LABEL= a
specific block device names into configuration files.
.P
@@ -102,10 +102,10 @@ Index: e2fsprogs-1.41.1/lib/blkid/libblkid.3.in
Caches data extracted from each recognized block device.
.SH AVAILABILITY
.B libblkid
-Index: e2fsprogs-1.41.1/lib/blkid/blkidP.h
+Index: e2fsprogs-1.41.9/lib/blkid/blkidP.h
===================================================================
---- e2fsprogs-1.41.1.orig/lib/blkid/blkidP.h 2008-08-28 09:26:31.000000000 -0500
-+++ e2fsprogs-1.41.1/lib/blkid/blkidP.h 2008-10-01 13:21:39.192001091 -0500
+--- e2fsprogs-1.41.9.orig/lib/blkid/blkidP.h
++++ e2fsprogs-1.41.9/lib/blkid/blkidP.h
@@ -104,7 +104,7 @@ struct blkid_struct_cache
extern char *blkid_strdup(const char *s);
extern char *blkid_strndup(const char *s, const int length);
@@ -115,11 +115,11 @@ Index: e2fsprogs-1.41.1/lib/blkid/blkidP.h
#define BLKID_ERR_IO 5
#define BLKID_ERR_PROC 9
-Index: e2fsprogs-1.41.1/RELEASE-NOTES
+Index: e2fsprogs-1.41.9/RELEASE-NOTES
===================================================================
---- e2fsprogs-1.41.1.orig/RELEASE-NOTES 2008-09-01 15:01:14.000000000 -0500
-+++ e2fsprogs-1.41.1/RELEASE-NOTES 2008-10-01 13:20:34.383001892 -0500
-@@ -2460,7 +2460,7 @@ label.
+--- e2fsprogs-1.41.9.orig/RELEASE-NOTES
++++ e2fsprogs-1.41.9/RELEASE-NOTES
+@@ -3130,7 +3130,7 @@ label.
Fixed a bug in the blkid library wihch could avoid an infinite loop
in blkid_find_dev_with_tag() if /proc is not mounted and there the
diff --git a/e2fsprogs-1.40.4-sb_feature_check_ignore.patch b/e2fsprogs-1.40.4-sb_feature_check_ignore.patch
index 026afed..0e8d9ee 100644
--- a/e2fsprogs-1.40.4-sb_feature_check_ignore.patch
+++ b/e2fsprogs-1.40.4-sb_feature_check_ignore.patch
@@ -1,8 +1,8 @@
-Index: e2fsprogs-1.40.5/e2fsck/super.c
+Index: e2fsprogs-1.41.9/e2fsck/super.c
===================================================================
---- e2fsprogs-1.40.5.orig/e2fsck/super.c
-+++ e2fsprogs-1.40.5/e2fsck/super.c
-@@ -793,7 +793,11 @@ void check_super_block(e2fsck_t ctx)
+--- e2fsprogs-1.41.9.orig/e2fsck/super.c
++++ e2fsprogs-1.41.9/e2fsck/super.c
+@@ -876,7 +876,11 @@ void check_super_block(e2fsck_t ctx)
* unfortunately, we shouldn't ignore it since if it's not set in the
* backup, the extended attributes in the filesystem will be stripped
* away.
@@ -13,20 +13,20 @@ Index: e2fsprogs-1.40.5/e2fsck/super.c
+#define FEATURE_COMPAT_IGNORE (EXT2_FEATURE_COMPAT_EXT_ATTR)
#define FEATURE_RO_COMPAT_IGNORE (EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \
EXT4_FEATURE_RO_COMPAT_DIR_NLINK)
- #define FEATURE_INCOMPAT_IGNORE (EXT3_FEATURE_INCOMPAT_EXTENTS)
-@@ -837,6 +841,9 @@ int check_backup_super_block(e2fsck_t ct
+ #define FEATURE_INCOMPAT_IGNORE (EXT3_FEATURE_INCOMPAT_EXTENTS| \
+@@ -928,6 +932,9 @@ int check_backup_super_block(e2fsck_t ct
+ (EXT2_INODE_SIZE(backup_sb) < EXT2_GOOD_OLD_INODE_SIZE))
continue;
- }
+#define SUPER_COMPAT_DIFFERENT(x) \
-+ (( fs->super->x & ~FEATURE_COMPAT_IGNORE) != \
-+ (tfs->super->x & ~FEATURE_COMPAT_IGNORE))
++ ((fs->super->x & ~FEATURE_COMPAT_IGNORE) != \
++ (backup_sb->x & ~FEATURE_COMPAT_IGNORE))
#define SUPER_INCOMPAT_DIFFERENT(x) \
- (( fs->super->x & ~FEATURE_INCOMPAT_IGNORE) != \
- (tfs->super->x & ~FEATURE_INCOMPAT_IGNORE))
-@@ -846,7 +853,7 @@ int check_backup_super_block(e2fsck_t ct
+ ((fs->super->x & ~FEATURE_INCOMPAT_IGNORE) != \
+ (backup_sb->x & ~FEATURE_INCOMPAT_IGNORE))
+@@ -937,7 +944,7 @@ int check_backup_super_block(e2fsck_t ct
#define SUPER_DIFFERENT(x) \
- (fs->super->x != tfs->super->x)
+ (fs->super->x != backup_sb->x)
- if (SUPER_DIFFERENT(s_feature_compat) ||
+ if (SUPER_COMPAT_DIFFERENT(s_feature_compat) ||
diff --git a/e2fsprogs-1.41.4-debugfs-stat-segfault.patch b/e2fsprogs-1.41.4-debugfs-stat-segfault.patch
deleted file mode 100644
index a45cd1f..0000000
--- a/e2fsprogs-1.41.4-debugfs-stat-segfault.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Index: e2fsprogs/debugfs/debugfs.c
-===================================================================
---- e2fsprogs.orig/debugfs/debugfs.c 2008-09-12 10:37:52.000000000 -0500
-+++ e2fsprogs/debugfs/debugfs.c 2009-01-29 16:36:04.748574864 -0600
-@@ -291,9 +291,6 @@ void do_show_super_stats(int argc, char
- int c, header_only = 0;
- int numdirs = 0, first, gdt_csum;
-
-- gdt_csum = EXT2_HAS_RO_COMPAT_FEATURE(current_fs->super,
-- EXT4_FEATURE_RO_COMPAT_GDT_CSUM);
--
- reset_getopt();
- while ((c = getopt (argc, argv, "h")) != EOF) {
- switch (c) {
-@@ -321,6 +318,8 @@ void do_show_super_stats(int argc, char
- return;
- }
-
-+ gdt_csum = EXT2_HAS_RO_COMPAT_FEATURE(current_fs->super,
-+ EXT4_FEATURE_RO_COMPAT_GDT_CSUM);
- gdp = &current_fs->group_desc[0];
- for (i = 0; i < current_fs->group_desc_count; i++, gdp++) {
- fprintf(out, " Group %2d: block bitmap at %u, "
diff --git a/e2fsprogs-1.41.4-dev-mapper-names.patch b/e2fsprogs-1.41.4-dev-mapper-names.patch
deleted file mode 100644
index b35cade..0000000
--- a/e2fsprogs-1.41.4-dev-mapper-names.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From: Karel Zak <kzak@redhat.com>
-Date: Mon, 27 Apr 2009 13:00:57 +0000 (+0200)
-Subject: blkid: use /dev/mapper/<name> rather than /dev/dm-<N>
-X-Git-Tag: v1.41.6~32
-X-Git-Url: http://git.kernel.org/?p=fs%2Fext2%2Fe2fsprogs.git;a=commitdiff_plain;h=4271e23942bdc60e1fa6c0b26bc666a94a8b3e1d
-
-blkid: use /dev/mapper/<name> rather than /dev/dm-<N>
-
-The libblkid (since v1.41.1) returns private device-mapper names (e.g.
-/dev/dm-0). It's because the probe_one() function scans /dev before
-/dev/mapper.
-
-brw-rw---- 1 root disk 253, 0 2009-04-27 13:41 /dev/dm-0
-brw-rw---- 1 root disk 253, 0 2009-04-27 13:41 /dev/mapper/TestVolGroup-TestLogVolume
-
-Old version:
- # blkid -t LABEL="TEST-LABEL" -o device
- /dev/dm-0
-
-Fixed version:
- # blkid -t LABEL="TEST-LABEL" -o device
- /dev/mapper/TestVolGroup-TestLogVolume
-
-Addresses-Red-Hat-Bug: #497259
-Signed-off-by: Karel Zak <kzak@redhat.com>
-Signed-off-by: Theodore Ts'o <tytso@mit.edu>
----
-
-Index: e2fsprogs-1.41.4/lib/blkid/devname.c
-===================================================================
---- e2fsprogs-1.41.4.orig/lib/blkid/devname.c
-+++ e2fsprogs-1.41.4/lib/blkid/devname.c
-@@ -179,6 +179,15 @@ static void probe_one(blkid_cache cache,
- if (dev && dev->bid_devno == devno)
- goto set_pri;
-
-+ /* Try to translate private device-mapper dm-<N> names
-+ * to standard /dev/mapper/<name>.
-+ */
-+ if (!strncmp(ptname, "dm-", 3) && isdigit(ptname[3])) {
-+ blkid__scan_dir("/dev/mapper", devno, 0, &devname);
-+ if (devname)
-+ goto get_dev;
-+ }
-+
- /*
- * Take a quick look at /dev/ptname for the device number. We check
- * all of the likely device directories. If we don't find it, or if
-@@ -197,7 +206,7 @@ static void probe_one(blkid_cache cache,
- if (stat(device, &st) == 0 && S_ISBLK(st.st_mode) &&
- st.st_rdev == devno) {
- devname = blkid_strdup(device);
-- break;
-+ goto get_dev;
- }
- }
- /* Do a short-cut scan of /dev/mapper first */
-@@ -208,9 +217,9 @@ static void probe_one(blkid_cache cache,
- if (!devname)
- return;
- }
-+get_dev:
- dev = blkid_get_dev(cache, devname, BLKID_DEV_NORMAL);
- free(devname);
--
- set_pri:
- if (dev) {
- if (pri)
diff --git a/e2fsprogs-1.41.4-ext4-resize-fixes.patch b/e2fsprogs-1.41.4-ext4-resize-fixes.patch
deleted file mode 100644
index c950703..0000000
--- a/e2fsprogs-1.41.4-ext4-resize-fixes.patch
+++ /dev/null
@@ -1,241 +0,0 @@
-3 patches from the list to address resize issues (18 Apr 2009):
-
-When allocating a new set of block group metadata as part of growing
-the filesystem, the resize2fs code assumes that the bitmap and inode
-table blocks are in their own block group; an assumption which is
-changed by the flex_bg feature. This commit works around the problem
-by temporarily turning off flex_bg while allocating the new block
-group metadata, to avoid potentially overwriting previously allocated
-data blocks.
-
-Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
----
-
-If we need to shrink the inode table, we need to make sure the inodes
-contained in the part of the inode table we are vacating don't get
-reused as part of the filesystem shrink operation. This wasn't a
-problem with ext3 filesystems, since the inode table was located in
-the block group that was going away, so that location was not eligible
-for reallocation.
-
-However with ext4 filesystems with flex_bg enabled, it's possible for
-a portion of the inode table in the last flex_bg group to be
-deallocated, but in a part of the filesystem which could be used as
-data blocks. So we must mark those blocks as reserved to prevent
-their reuse, and adjust the minimum filesystem size calculation to
-assure that we don't shrink a filesystem too small for the resize
-operation to succeed.
-
-Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
----
-
-Due to a fencepost bug, when skipping a block group whose block bitmap
-was uninitialized (and hence could not contain any blocks eligible for
-relaocation), the block immediately following the block group wasn't
-checked as well. If it was in use and required relocation, it
-wouldn't get properly relocated, with the result that an inode using
-such a block would end up, post resize, with a pointer to a block now
-outside the bounds of the filesystem.
-
-This commit fixes this fencepost error.
-
-Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
----
-
-Index: e2fsprogs-1.41.4/resize/resize2fs.c
-===================================================================
---- e2fsprogs-1.41.4.orig/resize/resize2fs.c
-+++ e2fsprogs-1.41.4/resize/resize2fs.c
-@@ -233,20 +233,29 @@ static void fix_uninit_block_bitmaps(ext
-
- /*
- * If the group descriptor's bitmap and inode table blocks are valid,
-- * release them in the specified filesystem data structure
-+ * release them in the new filesystem data structure, and mark them as
-+ * reserved so the old inode table blocks don't get overwritten.
- */
--static void free_gdp_blocks(ext2_filsys fs, struct ext2_group_desc *gdp)
-+static void free_gdp_blocks(ext2_filsys fs,
-+ ext2fs_block_bitmap reserve_blocks,
-+ struct ext2_group_desc *gdp)
- {
- blk_t blk;
- int j;
-
- if (gdp->bg_block_bitmap &&
-- (gdp->bg_block_bitmap < fs->super->s_blocks_count))
-+ (gdp->bg_block_bitmap < fs->super->s_blocks_count)) {
- ext2fs_block_alloc_stats(fs, gdp->bg_block_bitmap, -1);
-+ ext2fs_mark_block_bitmap(reserve_blocks,
-+ gdp->bg_block_bitmap);
-+ }
-
- if (gdp->bg_inode_bitmap &&
-- (gdp->bg_inode_bitmap < fs->super->s_blocks_count))
-+ (gdp->bg_inode_bitmap < fs->super->s_blocks_count)) {
- ext2fs_block_alloc_stats(fs, gdp->bg_inode_bitmap, -1);
-+ ext2fs_mark_block_bitmap(reserve_blocks,
-+ gdp->bg_inode_bitmap);
-+ }
-
- if (gdp->bg_inode_table == 0 ||
- (gdp->bg_inode_table >= fs->super->s_blocks_count))
-@@ -257,14 +266,19 @@ static void free_gdp_blocks(ext2_filsys
- if (blk >= fs->super->s_blocks_count)
- break;
- ext2fs_block_alloc_stats(fs, blk, -1);
-+ ext2fs_mark_block_bitmap(reserve_blocks, blk);
- }
- }
-
- /*
- * This routine is shared by the online and offline resize routines.
- * All of the information which is adjusted in memory is done here.
-+ *
-+ * The reserve_blocks parameter is only needed when shrinking the
-+ * filesystem.
- */
--errcode_t adjust_fs_info(ext2_filsys fs, ext2_filsys old_fs, blk_t new_size)
-+errcode_t adjust_fs_info(ext2_filsys fs, ext2_filsys old_fs,
-+ ext2fs_block_bitmap reserve_blocks, blk_t new_size)
- {
- errcode_t retval;
- int overhead = 0;
-@@ -399,8 +413,8 @@ retry:
- }
-
- /*
-- * If we are shrinking the number block groups, we're done and
-- * can exit now.
-+ * If we are shrinking the number of block groups, we're done
-+ * and can exit now.
- */
- if (old_fs->group_desc_count > fs->group_desc_count) {
- /*
-@@ -409,7 +423,8 @@ retry:
- */
- for (i = fs->group_desc_count;
- i < old_fs->group_desc_count; i++) {
-- free_gdp_blocks(fs, &old_fs->group_desc[i]);
-+ free_gdp_blocks(fs, reserve_blocks,
-+ &old_fs->group_desc[i]);
- }
- retval = 0;
- goto errout;
-@@ -550,7 +565,12 @@ static errcode_t adjust_superblock(ext2_
- ext2fs_mark_bb_dirty(fs);
- ext2fs_mark_ib_dirty(fs);
-
-- retval = adjust_fs_info(fs, rfs->old_fs, new_size);
-+ retval = ext2fs_allocate_block_bitmap(fs, _("reserved blocks"),
-+ &rfs->reserve_blocks);
-+ if (retval)
-+ return retval;
-+
-+ retval = adjust_fs_info(fs, rfs->old_fs, rfs->reserve_blocks, new_size);
- if (retval)
- goto errout;
-
-@@ -746,17 +766,13 @@ static errcode_t blocks_to_move(ext2_res
- errcode_t retval;
- ext2_filsys fs, old_fs;
- ext2fs_block_bitmap meta_bmap;
-+ __u32 save_incompat_flag;
-
- fs = rfs->new_fs;
- old_fs = rfs->old_fs;
- if (old_fs->super->s_blocks_count > fs->super->s_blocks_count)
- fs = rfs->old_fs;
-
-- retval = ext2fs_allocate_block_bitmap(fs, _("reserved blocks"),
-- &rfs->reserve_blocks);
-- if (retval)
-- return retval;
--
- retval = ext2fs_allocate_block_bitmap(fs, _("blocks to be moved"),
- &rfs->move_blocks);
- if (retval)
-@@ -788,7 +804,7 @@ static errcode_t blocks_to_move(ext2_res
- * to the next block group.
- */
- blk = ((g+1) * fs->super->s_blocks_per_group) +
-- fs->super->s_first_data_block;
-+ fs->super->s_first_data_block - 1;
- continue;
- }
- if (ext2fs_test_block_bitmap(old_fs->block_map, blk) &&
-@@ -890,9 +906,29 @@ static errcode_t blocks_to_move(ext2_res
-
- /*
- * Allocate the missing data structures
-+ *
-+ * XXX We have a problem with FLEX_BG and off-line
-+ * resizing where we are growing the size of the
-+ * filesystem. ext2fs_allocate_group_table() will try
-+ * to reserve the inode table in the desired flex_bg
-+ * location. However, passing rfs->reserve_blocks
-+ * doesn't work since it only has reserved the blocks
-+ * that will be used in the new block group -- and
-+ * with flex_bg, we can and will allocate the tables
-+ * outside of the block group. And we can't pass in
-+ * the fs->block_map because it doesn't handle
-+ * overlapping inode table movements right. So for
-+ * now, we temporarily disable flex_bg to force
-+ * ext2fs_allocate_group_tables() to allocate the bg
-+ * metadata in side the block group, and the restore
-+ * it afterwards. Ugly, until we can fix this up
-+ * right later.
- */
-+ save_incompat_flag = fs->super->s_feature_incompat;
-+ fs->super->s_feature_incompat &= ~EXT4_FEATURE_INCOMPAT_FLEX_BG;
- retval = ext2fs_allocate_group_table(fs, i,
- rfs->reserve_blocks);
-+ fs->super->s_feature_incompat = save_incompat_flag;
- if (retval)
- goto errout;
-
-@@ -1857,6 +1893,19 @@ blk_t calculate_minimum_resize_size(ext2
- data_needed -= SUPER_OVERHEAD(fs) * num_of_superblocks;
- data_needed -= META_OVERHEAD(fs) * fs->group_desc_count;
-
-+ if (fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_FLEX_BG) {
-+ /*
-+ * For ext4 we need to allow for up to a flex_bg worth
-+ * of inode tables of slack space so the resize
-+ * operation can be guaranteed to finish.
-+ */
-+ int flexbg_size = 1 << fs->super->s_log_groups_per_flex;
-+ int extra_groups;
-+
-+ extra_groups = flexbg_size - (groups & (flexbg_size - 1));
-+ data_needed += META_OVERHEAD(fs) * extra_groups;
-+ }
-+
- /*
- * figure out how many data blocks we have given the number of groups
- * we need for our inodes
-Index: e2fsprogs-1.41.4/resize/online.c
-===================================================================
---- e2fsprogs-1.41.4.orig/resize/online.c
-+++ e2fsprogs-1.41.4/resize/online.c
-@@ -104,7 +104,7 @@ errcode_t online_resize_fs(ext2_filsys f
- * but at least it allows on-line resizing to function.
- */
- new_fs->super->s_feature_incompat &= ~EXT4_FEATURE_INCOMPAT_FLEX_BG;
-- retval = adjust_fs_info(new_fs, fs, *new_size);
-+ retval = adjust_fs_info(new_fs, fs, 0, *new_size);
- if (retval)
- return retval;
-
-Index: e2fsprogs-1.41.4/resize/resize2fs.h
-===================================================================
---- e2fsprogs-1.41.4.orig/resize/resize2fs.h
-+++ e2fsprogs-1.41.4/resize/resize2fs.h
-@@ -128,6 +128,7 @@ extern errcode_t resize_fs(ext2_filsys f
- unsigned long max));
-
- extern errcode_t adjust_fs_info(ext2_filsys fs, ext2_filsys old_fs,
-+ ext2fs_block_bitmap reserve_blocks,
- blk_t new_size);
- extern blk_t calculate_minimum_resize_size(ext2_filsys fs);
-
diff --git a/e2fsprogs-1.41.4-extent-open-leak.patch b/e2fsprogs-1.41.4-extent-open-leak.patch
deleted file mode 100644
index 8d4112b..0000000
--- a/e2fsprogs-1.41.4-extent-open-leak.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Each time an extent handle is opened and closed, if the inode has an
-extent tree which does not fit in the inode's i_block structure, a
-filesystem block buffer was not getting released. Since e2fsck opens
-an extent handle for every inode using extents, this can translate to
-a very large amount of memory getting lost.
-
-Thanks to Henrik 'Mauritz' Johnson for discovering and pointing out
-this leak, which he ran into while running the "rdump" command in
-debugfs.
-
-Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
----
- lib/ext2fs/extent.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/lib/ext2fs/extent.c b/lib/ext2fs/extent.c
-index b7eb617..2b88739 100644
---- a/lib/ext2fs/extent.c
-+++ b/lib/ext2fs/extent.c
-@@ -168,7 +168,7 @@ extern void ext2fs_extent_free(ext2_extent_handle_t handle)
- if (handle->inode)
- ext2fs_free_mem(&handle->inode);
- if (handle->path) {
-- for (i=1; i < handle->max_depth; i++) {
-+ for (i=1; i <= handle->max_depth; i++) {
- if (handle->path[i].buf)
- ext2fs_free_mem(&handle->path[i].buf);
- }
diff --git a/e2fsprogs-1.41.4-fix-blkid-segfault.patch b/e2fsprogs-1.41.4-fix-blkid-segfault.patch
deleted file mode 100644
index 419d160..0000000
--- a/e2fsprogs-1.41.4-fix-blkid-segfault.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-The coverity scanner found this one.
-
-If a line in modules.dep has a ":" but no "/" then:
-
- if ((cp = strchr(buf, ':')) != NULL)
- *cp = 0;
- else
- continue;
- if ((cp = strrchr(buf, '/')) != NULL)
- cp++;
- /* XXX else cp is still null */
- i = strlen(cp);
-
-... we will deref a null pointer (cp). This can be
-demonstrated by putting a line like:
-
-foo.ko:
-
-into modules.dep. The below change just says that if no "/" is
-found, treat the whole string as the module name.
-
-Signed-off-by: Eric Sandeen <sandeen@redhat.com>
----
-
-Index: e2fsprogs/e2fsck/util.c
-===================================================================
---- e2fsprogs.orig/e2fsck/util.c
-+++ e2fsprogs/e2fsck/util.c
-@@ -663,6 +663,8 @@ int check_for_modules(const char *fs_nam
- continue;
- if ((cp = strrchr(buf, '/')) != NULL)
- cp++;
-+ else
-+ cp = buf;
- i = strlen(cp);
- if (i > 3) {
- t = cp + i - 3;
-Index: e2fsprogs/lib/blkid/probe.c
-===================================================================
---- e2fsprogs.orig/lib/blkid/probe.c
-+++ e2fsprogs/lib/blkid/probe.c
-@@ -227,6 +227,8 @@ static int check_for_modules(const char
- continue;
- if ((cp = strrchr(buf, '/')) != NULL)
- cp++;
-+ else
-+ cp = buf;
- i = strlen(cp);
- if (i > 3) {
- t = cp + i - 3;
-
---
-To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
-the body of a message to majordomo@vger.kernel.org
-More majordomo info at http://vger.kernel.org/majordomo-info.html
-
diff --git a/e2fsprogs-1.41.4-fix-external-journals.patch b/e2fsprogs-1.41.4-fix-external-journals.patch
deleted file mode 100644
index 28bb8f0..0000000
--- a/e2fsprogs-1.41.4-fix-external-journals.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From: Theodore Ts'o <tytso@mit.edu>
-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" <tytso@mit.edu>
----
-
-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-1.41.4-i_file_acl_high-fix.patch b/e2fsprogs-1.41.4-i_file_acl_high-fix.patch
deleted file mode 100644
index f4adb04..0000000
--- a/e2fsprogs-1.41.4-i_file_acl_high-fix.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From: Theodore Ts'o <tytso@mit.edu>
-Date: Fri, 24 Apr 2009 01:31:16 +0000 (-0400)
-Subject: e2fsck: On a 32-bit filesystem, make sure i_file_acl_high is zero
-X-Git-Tag: v1.41.5~3
-X-Git-Url: http://git.kernel.org/?p=fs%2Fext2%2Fe2fsprogs.git;a=commitdiff_plain;h=911ec6261568ca56d2d7b9a15f00578c4d127cf4
-
-e2fsck: On a 32-bit filesystem, make sure i_file_acl_high is zero
-
-Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
----
-
-diff --git a/e2fsck/pass1.c b/e2fsck/pass1.c
-index 04aeb26..3b05cf2 100644
---- a/e2fsck/pass1.c
-+++ b/e2fsck/pass1.c
-@@ -935,6 +935,10 @@ void e2fsck_pass1(e2fsck_t ctx)
- if (inode->i_faddr || frag || fsize ||
- (LINUX_S_ISDIR(inode->i_mode) && inode->i_dir_acl))
- mark_inode_bad(ctx, ino);
-+ if (!(fs->super->s_feature_incompat &
-+ EXT4_FEATURE_INCOMPAT_64BIT) &&
-+ inode->osd2.linux2.l_i_file_acl_high != 0)
-+ mark_inode_bad(ctx, ino);
- if ((fs->super->s_creator_os == EXT2_OS_LINUX) &&
- !(fs->super->s_feature_ro_compat &
- EXT4_FEATURE_RO_COMPAT_HUGE_FILE) &&
-diff --git a/e2fsck/pass2.c b/e2fsck/pass2.c
-index 28badc9..b33f596 100644
---- a/e2fsck/pass2.c
-+++ b/e2fsck/pass2.c
-@@ -1353,6 +1353,17 @@ extern int e2fsck_process_bad_inode(e2fsck_t ctx, ext2_ino_t dir,
- }
- }
-
-+ if (!(fs->super->s_feature_incompat &
-+ EXT4_FEATURE_INCOMPAT_64BIT) &&
-+ inode.osd2.linux2.l_i_file_acl_high != 0) {
-+ pctx.num = inode.osd2.linux2.l_i_file_acl_high;
-+ if (fix_problem(ctx, PR_2_I_FILE_ACL_HI_ZERO, &pctx)) {
-+ inode.osd2.linux2.l_i_file_acl_high = 0;
-+ inode_modified++;
-+ } else
-+ not_fixed++;
-+ }
-+
- if (inode.i_file_acl &&
- ((inode.i_file_acl < fs->super->s_first_data_block) ||
- (inode.i_file_acl >= fs->super->s_blocks_count))) {
-diff --git a/e2fsck/problem.c b/e2fsck/problem.c
-index 8293475..3ff17f0 100644
---- a/e2fsck/problem.c
-+++ b/e2fsck/problem.c
-@@ -1286,6 +1286,11 @@ static struct e2fsck_problem problem_table[] = {
- N_("@E references @i %Di found in @g %g's unused inodes area.\n"),
- PROMPT_FIX, PR_PREEN_OK },
-
-+ /* i_blocks_hi should be zero */
-+ { PR_2_I_FILE_ACL_HI_ZERO,
-+ N_("i_file_acl_hi @F %N, @s zero.\n"),
-+ PROMPT_CLEAR, 0 },
-+
- /* Pass 3 errors */
-
- /* Pass 3: Checking directory connectivity */
-diff --git a/e2fsck/problem.h b/e2fsck/problem.h
-index 1cb054c..ce8de76 100644
---- a/e2fsck/problem.h
-+++ b/e2fsck/problem.h
-@@ -768,6 +768,9 @@ struct problem_context {
- /* Inode found in group unused inodes area */
- #define PR_2_INOREF_IN_UNUSED 0x020047
-
-+/* i_file_acl_hi should be zero */
-+#define PR_2_I_FILE_ACL_HI_ZERO 0x020048
-+
- /*
- * Pass 3 errors
- */
-
diff --git a/e2fsprogs-1.41.4-ignore-NEEDS_RECOVERY-mismatch.patch b/e2fsprogs-1.41.4-ignore-NEEDS_RECOVERY-mismatch.patch
deleted file mode 100644
index 8ef33e2..0000000
--- a/e2fsprogs-1.41.4-ignore-NEEDS_RECOVERY-mismatch.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-This is for RH bugzilla 471925 - Complete scan of filesystems expanded online
-
-When we resize online, the primary superblock gets copied to all
-the backups, and of course since we're mounted the NEEDS_RECOVERY
-flag is set. A subsequent fsck will find the backups have the
-NEEDS_RECOVERY flag set while the primary does not, and this
-forces a full fsck pass.
-
-I think this flag can be safely ignored in the flag comparisons.
-
-Signed-off-by: Eric Sandeen <sandeen@redhat.com>
----
-
-Index: e2fsprogs-1.41.4/e2fsck/super.c
-===================================================================
---- e2fsprogs-1.41.4.orig/e2fsck/super.c
-+++ e2fsprogs-1.41.4/e2fsck/super.c
-@@ -864,7 +864,8 @@ void check_super_block(e2fsck_t ctx)
- * try to discourage it in the future. In particular, for the newer
- * ext4 files, especially EXT4_FEATURE_RO_COMPAT_DIR_NLINK and
- * EXT3_FEATURE_INCOMPAT_EXTENTS. So some of these may go away in the
-- * future.
-+ * future. EXT3_FEATURE_INCOMPAT_RECOVER may also get set when
-+ * copying the primary superblock during online resize.
- *
- * The kernel will set EXT2_FEATURE_COMPAT_EXT_ATTR, but
- * unfortunately, we shouldn't ignore it since if it's not set in the
-@@ -877,7 +878,8 @@ void check_super_block(e2fsck_t ctx)
- #define FEATURE_COMPAT_IGNORE (EXT2_FEATURE_COMPAT_EXT_ATTR)
- #define FEATURE_RO_COMPAT_IGNORE (EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \
- EXT4_FEATURE_RO_COMPAT_DIR_NLINK)
--#define FEATURE_INCOMPAT_IGNORE (EXT3_FEATURE_INCOMPAT_EXTENTS)
-+#define FEATURE_INCOMPAT_IGNORE (EXT3_FEATURE_INCOMPAT_EXTENTS| \
-+ EXT3_FEATURE_INCOMPAT_RECOVER)
-
- int check_backup_super_block(e2fsck_t ctx)
- {
diff --git a/e2fsprogs-1.41.4-libext2fs-info.patch b/e2fsprogs-1.41.4-libext2fs-info.patch
deleted file mode 100644
index 9fe20fb..0000000
--- a/e2fsprogs-1.41.4-libext2fs-info.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: e2fsprogs/doc/libext2fs.texinfo
-===================================================================
---- e2fsprogs.orig/doc/libext2fs.texinfo 2009-01-28 20:56:26.000000000 -0600
-+++ e2fsprogs/doc/libext2fs.texinfo 2009-01-29 16:36:53.148590911 -0600
-@@ -8,7 +8,7 @@
- @ifinfo
- @dircategory Development
- @direntry
--* libext2fs: (libext2fs.info). The EXT2FS library.
-+* libext2fs: (libext2fs). The EXT2FS library.
- @end direntry
- @end ifinfo
-
diff --git a/e2fsprogs-1.41.4-minimum-resize.patch b/e2fsprogs-1.41.4-minimum-resize.patch
deleted file mode 100644
index 233d8bc..0000000
--- a/e2fsprogs-1.41.4-minimum-resize.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-Sent to the list:
-
-[PATCH] fix minimum size calculations
-
-The extra padding added to the minimum size calculations:
-
- /*
- * We need to reserve a few extra blocks if extents are
- * enabled, in case we need to grow the extent tree. The more
- * we shrink the file system, the more space we need.
- */
- if (fs->super->s_feature_incompat & EXT3_FEATURE_INCOMPAT_EXTENTS)
- blks_needed += (fs->super->s_blocks_count - blks_needed)/500;
-
-can go quite wrong if we've already added up more "blks_needed"
-than our current size, and the above subtraction wraps. This can
-easily happen for a filesystem which is almost completely full.
-
-In this case, just return the current fs size as the minimum and
-be done with it.
-
-With this fix we could probably call calculate_minimum_resize_size()
-for each resize2fs invocation and refuse to resize smaller than that?
-
-Signed-off-by: Eric Sandeen <sandeen@redhat.com>
-
-[PATCH] resize2fs: don't try to resize below calculated minimum
-
-Without a force flag, don't allow resize2fs to even start resizing
-below what it thinks the minimum safe value is.
-
-This may stop resizes which could otherwise proceed with a bit
-of space still left, but seems like a reasonably safe thing to do.
-
-Signed-off-by: Eric Sandeen <sandeen@redhat.com>
----
-
-Index: e2fsprogs/resize/resize2fs.c
-===================================================================
---- e2fsprogs.orig/resize/resize2fs.c
-+++ e2fsprogs/resize/resize2fs.c
-@@ -2003,6 +2003,12 @@ blk_t calculate_minimum_resize_size(ext2
- blks_needed += overhead;
-
- /*
-+ * If at this point we've already added up more "needed" than
-+ * the current size, just return current size as minimum.
-+ */
-+ if (blks_needed >= fs->super->s_blocks_count)
-+ return fs->super->s_blocks_count;
-+ /*
- * We need to reserve a few extra blocks if extents are
- * enabled, in case we need to grow the extent tree. The more
- * we shrink the file system, the more space we need.
-
-Index: e2fsprogs/resize/main.c
-===================================================================
---- e2fsprogs.orig/resize/main.c
-+++ e2fsprogs/resize/main.c
-@@ -160,6 +160,7 @@ int main (int argc, char ** argv)
- int fd, ret;
- blk_t new_size = 0;
- blk_t max_size = 0;
-+ blk_t min_size = 0;
- io_manager io_ptr;
- char *new_size_str = 0;
- int use_stride = -1;
-@@ -341,9 +342,11 @@ int main (int argc, char ** argv)
- exit(1);
- }
-
-+ min_size = calculate_minimum_resize_size(fs);
-+
- if (print_min_size) {
- printf(_("Estimated minimum size of the filesystem: %u\n"),
-- calculate_minimum_resize_size(fs));
-+ min_size);
- exit(0);
- }
-
-@@ -388,6 +391,11 @@ int main (int argc, char ** argv)
- new_size &= ~((sys_page_size / fs->blocksize)-1);
- }
-
-+ if (!force && new_size < min_size) {
-+ com_err(program_name, 0,
-+ _("New size smaller than minimum (%u)\n"), min_size);
-+ exit(1);
-+ }
- if (use_stride >= 0) {
- if (use_stride >= (int) fs->super->s_blocks_per_group) {
- com_err(program_name, 0,
-
diff --git a/e2fsprogs-1.41.4-update-sb-journal-backup.patch b/e2fsprogs-1.41.4-update-sb-journal-backup.patch
deleted file mode 100644
index 1f26210..0000000
--- a/e2fsprogs-1.41.4-update-sb-journal-backup.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-This was reported in Fedora, since the livecd creator does
-a lot of resizing.
-
-If we've moved the journal blocks during resize (more likely now,
-due to the journal being in the middle) the backup blocks in the
-superblock don't get updated, and a subsequent e2fsck will find
-issues:
-
-e2fsck 1.41.6 (30-May-2009)
-Backing up journal inode block information.
-
-Pass 1: Checking inodes, blocks, and sizes
-Pass 2: Checking directory structure
-Pass 3: Checking directory connectivity
-Pass 4: Checking reference counts
-Pass 5: Checking group summary information
-
-/mnt/test/img: ***** FILE SYSTEM WAS MODIFIED *****
-/mnt/test/img: 11/16000 files (0.0% non-contiguous), 17789/38400 blocks
-
-This can be shown in a simple test:
-
-# dd if=/dev/zero of=img bs=1 count=0 seek=3000M
-# mke2fs -t ext4 -F img
-# resize2fs img 150M
-# e2fsck -f img
-
-(thanks to the Fedora reporter Mads Kiilerich for the testcase!
-https://bugzilla.redhat.com/show_bug.cgi?id=506105#c2)
-
-So, update the backup journal in the superblock before resize2fs exits.
-
-Signed-off-by: Eric Sandeen <sandeen@redhat.com>
-Resolves-RH-Bugzilla: 505339
----
-
-diff --git a/resize/resize2fs.c b/resize/resize2fs.c
-index 0d5dc81..63c469f 100644
---- a/resize/resize2fs.c
-+++ b/resize/resize2fs.c
-@@ -49,6 +49,7 @@ static errcode_t inode_ref_fix(ext2_resize_t rfs);
- static errcode_t move_itables(ext2_resize_t rfs);
- static errcode_t fix_resize_inode(ext2_filsys fs);
- static errcode_t ext2fs_calculate_summary_stats(ext2_filsys fs);
-+static errcode_t fix_sb_journal_backup(ext2_filsys fs);
-
- /*
- * Some helper CPP macros
-@@ -148,6 +149,10 @@ errcode_t resize_fs(ext2_filsys fs, blk_t *new_size, int flags,
- if (retval)
- goto errout;
-
-+ retval = fix_sb_journal_backup(rfs->new_fs);
-+ if (retval)
-+ goto errout;
-+
- rfs->new_fs->flags &= ~EXT2_FLAG_MASTER_SB_ONLY;
- retval = ext2fs_close(rfs->new_fs);
- if (retval)
-@@ -1857,6 +1862,28 @@ static errcode_t ext2fs_calculate_summary_stats(ext2_filsys fs)
- }
-
- /*
-+ * Journal may have been relocated; update the backup journal blocks
-+ * in the superblock.
-+ */
-+static errcode_t fix_sb_journal_backup(ext2_filsys fs)
-+{
-+ errcode_t retval;
-+ struct ext2_inode inode;
-+
-+ if (!(fs->super->s_feature_compat & EXT3_FEATURE_COMPAT_HAS_JOURNAL))
-+ return 0;
-+
-+ retval = ext2fs_read_inode(fs, fs->super->s_journal_inum, &inode);
-+ if (retval)
-+ return retval;
-+ memcpy(fs->super->s_jnl_blocks, inode.i_block, EXT2_N_BLOCKS*4);
-+ fs->super->s_jnl_blocks[16] = inode.i_size;
-+ fs->super->s_jnl_backup_type = EXT3_JNL_BACKUP_BLOCKS;
-+ ext2fs_mark_super_dirty(fs);
-+ return 0;
-+}
-+
-+/*
- * calcluate the minimum number of blocks the given fs can be resized to
- */
- blk_t calculate_minimum_resize_size(ext2_filsys fs)
-
diff --git a/e2fsprogs.spec b/e2fsprogs.spec
index 5e1a5a2..287ca8f 100644
--- a/e2fsprogs.spec
+++ b/e2fsprogs.spec
@@ -3,10 +3,9 @@
Summary: Utilities for managing ext2, ext3, and ext4 filesystems
Name: e2fsprogs
-Version: 1.41.4
-Release: 12%{?dist}
-# License based on upstream-modified COPYING file,
-# which clearly states "V2" intent.
+Version: 1.41.9
+Release: 1%{?dist}
+# License tags based on COPYING file distinctions for various components
License: GPLv2
Group: System Environment/Base
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
@@ -17,17 +16,8 @@ Patch1: e2fsprogs-1.38-etcblkid.patch
Patch2: e2fsprogs-1.40.4-sb_feature_check_ignore.patch
# These are all upstream, or headed there.
-Patch3: e2fsprogs-1.41.4-debugfs-stat-segfault.patch
-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
-Patch9: e2fsprogs-1.41.4-i_file_acl_high-fix.patch
-Patch10: e2fsprogs-1.41.4-minimum-resize.patch
-Patch11: e2fsprogs-1.41.4-update-sb-journal-backup.patch
-Patch12: e2fsprogs-1.41.4-extent-open-leak.patch
-Patch13: e2fsprogs-1.41.4-dev-mapper-names.patch
+Patch3: e2fsprogs-resize-minimum-fix.patch
+Patch4: e2fsprogs-1.41.9-24hr-fsck-grace.patch
Url: http://e2fsprogs.sourceforge.net/
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -105,28 +95,8 @@ SMP systems.
# mildly unsafe but 'til I get something better, avoid full fsck
# after an selinux install...
%patch2 -p1 -b .featurecheck
-# Fix segfault in debugfs "stat" if fs not open
-%patch3 -p1 -b .statfs
-# Fix up name of info file
-%patch4 -p1 -b .info
-# Fix blkid segfault in modules.dep scanning
-%patch5 -p1 -b .info
-# Ignore NEEDS_RECOVERY mismatch
-%patch6 -p1 -b .recovery
-# Fix ext4 resize issues
-%patch7 -p1 -b .resize
-# Fix external journals
-%patch8 -p1 -b .ext-journal
-# e2fsck: On a 32-bit filesystem, make sure i_file_acl_high is zero
-%patch9 -p1 -b .acl_hi
-# Fix minimum resize calculation and enforce it
-%patch10 -p1 -b .resize_min
-# Update sb journal backup blocks on resize
-%patch11 -p1 -b .resize_sb_backup
-# Fix memory leak in extent handling
-%patch12 -p1 -b .extent_leak
-# Fix devicemapper names
-%patch13 -p1 -b .devmapper_names
+%patch3 -p1 -b .resize
+%patch4 -p1 -b .24hr
%build
%configure --enable-elf-shlibs --enable-nls --disable-e2initrd-helper --enable-blkid-devmapper --enable-blkid-selinux
@@ -227,6 +197,7 @@ fi
%{_root_sbindir}/resize2fs
%{_root_sbindir}/tune2fs
%{_sbindir}/filefrag
+%{_sbindir}/e2freefrag
%{_sbindir}/mklost+found
%{_bindir}/chattr
@@ -246,6 +217,7 @@ fi
%{_mandir}/man8/e2fsck.8*
%{_mandir}/man8/findfs.8*
%{_mandir}/man8/filefrag.8*
+%{_mandir}/man8/e2freefrag.8*
%{_mandir}/man8/fsck.ext2.8*
%{_mandir}/man8/fsck.ext3.8*
%{_mandir}/man8/fsck.ext4.8*
@@ -325,6 +297,9 @@ fi
%dir %attr(2775, uuidd, uuidd) /var/lib/libuuid
%changelog
+* Fri Jan 22 2010 Eric Sandeen <sandeen@redhat.com> 1.41.9-1
+- Update to current upstream
+
* Wed Jun 24 2009 Eric Sandeen <sandeen@redhat.com> 1.41.4-12
- blkid: use /dev/mapper/<name> vs /dev/dm-<N> (#497259)
diff --git a/sources b/sources
index 3dee03a..33a2f0e 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-59033388df36987d2b9c9bbf7e19bd57 e2fsprogs-1.41.4.tar.gz
+52f60a9e19a02f142f5546f1b5681927 e2fsprogs-1.41.9.tar.gz