diff options
author | Eric Sandeen <sandeen@fedoraproject.org> | 2010-01-23 04:37:28 +0000 |
---|---|---|
committer | Eric Sandeen <sandeen@fedoraproject.org> | 2010-01-23 04:37:28 +0000 |
commit | a12de76e3b838d44866078f36fa5a51387826582 (patch) | |
tree | f0d981d36cdf5d1dbe428e1651e24685c6d20f9f | |
parent | 1b50ffe597a17194dae0a0481df8a73ba6403ff1 (diff) | |
download | e2fsprogs-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.patch | 54 | ||||
-rw-r--r-- | e2fsprogs-1.40.4-sb_feature_check_ignore.patch | 26 | ||||
-rw-r--r-- | e2fsprogs-1.41.4-debugfs-stat-segfault.patch | 23 | ||||
-rw-r--r-- | e2fsprogs-1.41.4-dev-mapper-names.patch | 68 | ||||
-rw-r--r-- | e2fsprogs-1.41.4-ext4-resize-fixes.patch | 241 | ||||
-rw-r--r-- | e2fsprogs-1.41.4-extent-open-leak.patch | 28 | ||||
-rw-r--r-- | e2fsprogs-1.41.4-fix-blkid-segfault.patch | 56 | ||||
-rw-r--r-- | e2fsprogs-1.41.4-fix-external-journals.patch | 42 | ||||
-rw-r--r-- | e2fsprogs-1.41.4-i_file_acl_high-fix.patch | 79 | ||||
-rw-r--r-- | e2fsprogs-1.41.4-ignore-NEEDS_RECOVERY-mismatch.patch | 37 | ||||
-rw-r--r-- | e2fsprogs-1.41.4-libext2fs-info.patch | 13 | ||||
-rw-r--r-- | e2fsprogs-1.41.4-minimum-resize.patch | 93 | ||||
-rw-r--r-- | e2fsprogs-1.41.4-update-sb-journal-backup.patch | 89 | ||||
-rw-r--r-- | e2fsprogs.spec | 49 | ||||
-rw-r--r-- | sources | 2 |
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 = ¤t_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) @@ -1 +1 @@ -59033388df36987d2b9c9bbf7e19bd57 e2fsprogs-1.41.4.tar.gz +52f60a9e19a02f142f5546f1b5681927 e2fsprogs-1.41.9.tar.gz |