From: Theodore Ts'o Date: Sun, 25 Mar 2018 02:55:14 +0000 (-0400) Subject: Remove debian patches for v1.44.x releases X-Git-Tag: debian/1.44.4-1~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4ec98780067ec292efb64fde2c98833a4ed35ac4;p=thirdparty%2Fe2fsprogs.git Remove debian patches for v1.44.x releases Signed-off-by: Theodore Ts'o --- diff --git a/debian/patches/enable-metadata_csum-by-default b/debian/patches/enable-metadata_csum-by-default deleted file mode 100644 index c71c00d7d..000000000 --- a/debian/patches/enable-metadata_csum-by-default +++ /dev/null @@ -1,16 +0,0 @@ -Description: Enable metadata_csum by default - For debian testing let's be more aggressive about testing the - metadata_csum feature. -From: Theodore Y. Ts'o - ---- e2fsprogs-1.43.orig/misc/mke2fs.conf.in -+++ e2fsprogs-1.43/misc/mke2fs.conf.in -@@ -11,7 +11,7 @@ - features = has_journal - } - ext4 = { -- features = has_journal,extent,huge_file,flex_bg,uninit_bg,64bit,dir_nlink,extra_isize -+ features = has_journal,extent,huge_file,flex_bg,metadata_csum,64bit,dir_nlink,extra_isize - inode_size = 256 - } - small = { diff --git a/debian/patches/fix-up-s_lastcheck b/debian/patches/fix-up-s_lastcheck deleted file mode 100644 index 4832c39a7..000000000 --- a/debian/patches/fix-up-s_lastcheck +++ /dev/null @@ -1,36 +0,0 @@ -Description: tune2fs: after replaying the journal, fix up s_lastcheck - If the file system needs to have the journal replayed, but definition - it can't be freshly checked. So if the time when the file system was - last checked (s_lastcheck) is before the time it was last mounted - (s_mtime), force s_lastcheck to be before s_mtime. - . - This is necessary to make sure some of tune2fs's safety checks work - correctly after replaying the journal, since some of tune2fs's - operations really require that the file system be self-consistent or - grave damage can result. -From: Theodore Ts'o -Origin: upstream, commit:60f032bbc167 ---- - debugfs/journal.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/debugfs/journal.c b/debugfs/journal.c -index 56a68be52..c16daa5b7 100644 ---- a/debugfs/journal.c -+++ b/debugfs/journal.c -@@ -250,6 +250,12 @@ static void ext2fs_clear_recover(ext2_filsys fs, int error) - /* if we had an error doing journal recovery, we need a full fsck */ - if (error) - fs->super->s_state &= ~EXT2_VALID_FS; -+ /* -+ * If we replayed the journal by definition the file system -+ * was mounted since the last time it was checked -+ */ -+ if (fs->super->s_lastcheck >= fs->super->s_mtime) -+ fs->super->s_lastcheck = fs->super->s_mtime - 1; - ext2fs_mark_super_dirty(fs); - } - --- -2.16.1.72.g5be1f00a9a - diff --git a/debian/patches/fsck-avoid-buffer-overflow b/debian/patches/fsck-avoid-buffer-overflow deleted file mode 100644 index 19588b3cd..000000000 --- a/debian/patches/fsck-avoid-buffer-overflow +++ /dev/null @@ -1,44 +0,0 @@ -Description: fsck: avoid buffer overflow if user passes in an insanely - long fs type -From: Theodore Ts'o -Origin: upstream, commit:d8e5da0a3b94 ---- - misc/fsck.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/misc/fsck.c b/misc/fsck.c -index de5ae256d..a2e0dfba5 100644 ---- a/misc/fsck.c -+++ b/misc/fsck.c -@@ -408,7 +408,8 @@ static char *find_fsck(char *type) - tpl = (strncmp(type, "fsck.", 5) ? "%s/fsck.%s" : "%s/%s"); - - for(s = strtok(p, ":"); s; s = strtok(NULL, ":")) { -- sprintf(prog, tpl, s, type); -+ if (snprintf(prog, sizeof(prog), tpl, s, type) >= sizeof(prog)) -+ continue; - if (stat(prog, &st) == 0) break; - } - free(p); -@@ -435,7 +436,7 @@ static int progress_active(NOARGS) - static int execute(const char *type, const char *device, const char *mntpt, - int interactive) - { -- char *s, *argv[80], prog[80]; -+ char *s, *argv[80], prog[256]; - int argc, i; - struct fsck_instance *inst, *p; - pid_t pid; -@@ -445,7 +446,8 @@ static int execute(const char *type, const char *device, const char *mntpt, - return ENOMEM; - memset(inst, 0, sizeof(struct fsck_instance)); - -- sprintf(prog, "fsck.%s", type); -+ if (snprintf(prog, sizeof(prog), "fsck.%s", type) >= sizeof(prog)) -+ return EINVAL; - argv[0] = string_copy(prog); - argc = 1; - --- -2.16.1.72.g5be1f00a9a - diff --git a/debian/patches/libss-add-newer-libreadline.so.7-to-dlopen-path b/debian/patches/libss-add-newer-libreadline.so.7-to-dlopen-path deleted file mode 100644 index a569a2166..000000000 --- a/debian/patches/libss-add-newer-libreadline.so.7-to-dlopen-path +++ /dev/null @@ -1,23 +0,0 @@ -Description: libss: add newer libreadline.so.7 to dlopen path -From: Lukas Czerner -Origin: upstream, commit:cb6d45fb1cd0 ---- - lib/ss/get_readline.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/ss/get_readline.c b/lib/ss/get_readline.c -index 9365be062..11c72b338 100644 ---- a/lib/ss/get_readline.c -+++ b/lib/ss/get_readline.c -@@ -37,7 +37,7 @@ static void ss_release_readline(ss_data *info) - #endif - - /* Libraries we will try to use for readline/editline functionality */ --#define DEFAULT_LIBPATH "libreadline.so.6:libreadline.so.5:libreadline.so.4:libreadline.so:libedit.so.2:libedit.so:libeditline.so.0:libeditline.so" -+#define DEFAULT_LIBPATH "libreadline.so.7:libreadline.so.6:libreadline.so.5:libreadline.so.4:libreadline.so:libedit.so.2:libedit.so:libeditline.so.0:libeditline.so" - - #ifdef HAVE_DLOPEN - void ss_get_readline(int sci_idx) --- -2.16.1.72.g5be1f00a9a - diff --git a/debian/patches/libuuid-fix-UBSAN-issue-in-get_random_fd b/debian/patches/libuuid-fix-UBSAN-issue-in-get_random_fd deleted file mode 100644 index c9b737716..000000000 --- a/debian/patches/libuuid-fix-UBSAN-issue-in-get_random_fd +++ /dev/null @@ -1,23 +0,0 @@ -Description: libuuid: fix UBSAN issue in get_random_fd() -From: Theodore Ts'o -Origin: upstream, commit:6074cf36b9fa ---- - lib/uuid/gen_uuid.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/uuid/gen_uuid.c b/lib/uuid/gen_uuid.c -index 0028c7caf..af5509352 100644 ---- a/lib/uuid/gen_uuid.c -+++ b/lib/uuid/gen_uuid.c -@@ -154,7 +154,7 @@ static int get_random_fd(void) - fcntl(fd, F_SETFD, i | FD_CLOEXEC); - } - #endif -- srand((getpid() << 16) ^ getuid() ^ tv.tv_sec ^ tv.tv_usec); -+ srand(((unsigned)getpid() << 16) ^ getuid() ^ tv.tv_sec ^ tv.tv_usec); - #ifdef DO_JRAND_MIX - jrand_seed[0] = getpid() ^ (tv.tv_sec & 0xFFFF); - jrand_seed[1] = getppid() ^ (tv.tv_usec & 0xFFFF); --- -2.16.1.72.g5be1f00a9a - diff --git a/debian/patches/require-fsck-when-turning-off-csum_seed-and-uuid-changed b/debian/patches/require-fsck-when-turning-off-csum_seed-and-uuid-changed deleted file mode 100644 index 56c74c2b0..000000000 --- a/debian/patches/require-fsck-when-turning-off-csum_seed-and-uuid-changed +++ /dev/null @@ -1,48 +0,0 @@ -Description: tune2fs: require fsck if turning off csum_seed and the - UUID has changed - . - In the case where the UUID has changed and the user wants to turn off - the csum_seed feature, it's important that file system be freshly - checked. That's also the only case when it's necessary to recalculate - all of the metadata file systems. -From: Theodore Ts'o -Origin: upstream, commit:1dc5c3928d27 ---- - misc/tune2fs.c | 20 +++++++++++--------- - 1 file changed, 11 insertions(+), 9 deletions(-) - -diff --git a/misc/tune2fs.c b/misc/tune2fs.c -index 9c8b6e43d..b11b2e3f3 100644 ---- a/misc/tune2fs.c -+++ b/misc/tune2fs.c -@@ -1366,16 +1366,18 @@ mmp_error: - - uuid_seed = ext2fs_crc32c_le(~0, fs->super->s_uuid, - sizeof(fs->super->s_uuid)); -- if (fs->super->s_checksum_seed != uuid_seed && -- (mount_flags & EXT2_MF_MOUNTED)) { -- fputs(_("UUID has changed since enabling " -- "metadata_csum. Filesystem must be unmounted " -- "\nto safely rewrite all metadata to " -- "match the new UUID.\n"), stderr); -- return 1; -+ if (fs->super->s_checksum_seed != uuid_seed) { -+ if (mount_flags & (EXT2_MF_BUSY|EXT2_MF_MOUNTED)) { -+ fputs(_("UUID has changed since enabling " -+ "metadata_csum. Filesystem must be unmounted " -+ "\nto safely rewrite all metadata to match the new UUID.\n"), -+ stderr); -+ return 1; -+ } -+ check_fsck_needed(fs, _("Recalculating checksums " -+ "could take some time.")); -+ rewrite_checksums = 1; - } -- -- rewrite_checksums = 1; - } - - if (sb->s_rev_level == EXT2_GOOD_OLD_REV && --- -2.16.1.72.g5be1f00a9a - diff --git a/debian/patches/series b/debian/patches/series deleted file mode 100644 index d1222d3aa..000000000 --- a/debian/patches/series +++ /dev/null @@ -1,8 +0,0 @@ -enable-metadata_csum-by-default -libuuid-fix-UBSAN-issue-in-get_random_fd -fsck-avoid-buffer-overflow -libss-add-newer-libreadline.so.7-to-dlopen-path -tune2fs-dont-recover-journal-if-device-is-busy -tune2fs-move-the-journal-recovery -fix-up-s_lastcheck -require-fsck-when-turning-off-csum_seed-and-uuid-changed diff --git a/debian/patches/tune2fs-dont-recover-journal-if-device-is-busy b/debian/patches/tune2fs-dont-recover-journal-if-device-is-busy deleted file mode 100644 index 657068f57..000000000 --- a/debian/patches/tune2fs-dont-recover-journal-if-device-is-busy +++ /dev/null @@ -1,38 +0,0 @@ -Description: tune2fs: don't recover journal if device is busy. - tune2fs currently replays the journal if it needs - recovery and the filesystem isn't mounted. - . - The test for "is the filesystem mounted" isn't completely robust. - Lustre makes use of ext4 filesystems in a way that they are mounted - without being visible in /proc/mounts or similar. - This usage can easily be detected by attempting to open the device - with O_EXCL. tune2fs already does this and the EXT2_MF_BUSY flag - is set if open(O_EXCL) fails. - Several uses other than lustre mounts could cause O_EXCL to fail, - but in any case it seems unwise to recover the journal when something - else is keeping the device busy. - . - So add an extra test to avoid journal recovery when the device - is busy. This fixes some problems with lustre usage. -From: NeilBrown -Origin: upstream, commit:ee8b61e9b0ac ---- - misc/tune2fs.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/misc/tune2fs.c b/misc/tune2fs.c -index 7bbd61088..a3374ab9d 100644 ---- a/misc/tune2fs.c -+++ b/misc/tune2fs.c -@@ -3226,7 +3226,7 @@ _("Warning: The journal is dirty. You may wish to replay the journal like:\n\n" - } - #else - /* Recover the journal if possible. */ -- if ((open_flag & EXT2_FLAG_RW) && !(mount_flags & EXT2_MF_MOUNTED) && -+ if ((open_flag & EXT2_FLAG_RW) && !(mount_flags & (EXT2_MF_BUSY | EXT2_MF_MOUNTED)) && - ext2fs_has_feature_journal_needs_recovery(fs->super)) { - errcode_t err; - --- -2.16.1.72.g5be1f00a9a - diff --git a/debian/patches/tune2fs-move-the-journal-recovery b/debian/patches/tune2fs-move-the-journal-recovery deleted file mode 100644 index fbe9bd985..000000000 --- a/debian/patches/tune2fs-move-the-journal-recovery +++ /dev/null @@ -1,119 +0,0 @@ -Description: tune2fs: perform journal recovery before modifying the superblock -From: Theodore Ts'o -Origin: upstream, commit:f5eb38e816c0 ---- - misc/tune2fs.c | 61 +++++++++++++++++++++---------------------- - tests/t_replay_and_set/expect | 2 +- - tests/t_replay_and_set/script | 4 +-- - 3 files changed, 33 insertions(+), 34 deletions(-) - -diff --git a/misc/tune2fs.c b/misc/tune2fs.c -index a3374ab9d..9c8b6e43d 100644 ---- a/misc/tune2fs.c -+++ b/misc/tune2fs.c -@@ -2910,6 +2910,36 @@ retry_open: - rc = 1; - goto closefs; - } -+ -+#ifdef NO_RECOVERY -+ /* Warn if file system needs recovery and it is opened for writing. */ -+ if ((open_flag & EXT2_FLAG_RW) && !(mount_flags & EXT2_MF_MOUNTED) && -+ (sb->s_feature_compat & EXT3_FEATURE_COMPAT_HAS_JOURNAL) && -+ (sb->s_feature_incompat & EXT3_FEATURE_INCOMPAT_RECOVER)) { -+ fprintf(stderr, -+_("Warning: The journal is dirty. You may wish to replay the journal like:\n\n" -+ "\te2fsck -E journal_only %s\n\n" -+ "then rerun this command. Otherwise, any changes made may be overwritten\n" -+ "by journal recovery.\n"), device_name); -+ } -+#else -+ /* Recover the journal if possible. */ -+ if ((open_flag & EXT2_FLAG_RW) && !(mount_flags & (EXT2_MF_BUSY | EXT2_MF_MOUNTED)) && -+ ext2fs_has_feature_journal_needs_recovery(fs->super)) { -+ errcode_t err; -+ -+ printf(_("Recovering journal.\n")); -+ err = ext2fs_run_ext3_journal(&fs); -+ if (err) { -+ com_err("tune2fs", err, "while recovering journal.\n"); -+ printf(_("Please run e2fsck -fy %s.\n"), argv[1]); -+ if (fs) -+ ext2fs_close_free(&fs); -+ exit(1); -+ } -+ } -+#endif -+ - /* Normally we only need to write out the superblock */ - fs->flags |= EXT2_FLAG_SUPER_ONLY; - -@@ -3213,37 +3243,6 @@ retry_open: - free(ext_mount_opts); - } - --#ifdef NO_RECOVERY -- /* Warn if file system needs recovery and it is opened for writing. */ -- if ((open_flag & EXT2_FLAG_RW) && !(mount_flags & EXT2_MF_MOUNTED) && -- (sb->s_feature_compat & EXT3_FEATURE_COMPAT_HAS_JOURNAL) && -- (sb->s_feature_incompat & EXT3_FEATURE_INCOMPAT_RECOVER)) { -- fprintf(stderr, --_("Warning: The journal is dirty. You may wish to replay the journal like:\n\n" -- "\te2fsck -E journal_only %s\n\n" -- "then rerun this command. Otherwise, any changes made may be overwritten\n" -- "by journal recovery.\n"), device_name); -- } --#else -- /* Recover the journal if possible. */ -- if ((open_flag & EXT2_FLAG_RW) && !(mount_flags & (EXT2_MF_BUSY | EXT2_MF_MOUNTED)) && -- ext2fs_has_feature_journal_needs_recovery(fs->super)) { -- errcode_t err; -- -- printf(_("Recovering journal.\n")); -- err = ext2fs_run_ext3_journal(&fs); -- if (err) { -- com_err("tune2fs", err, "while recovering journal.\n"); -- printf(_("Please run e2fsck -fy %s.\n"), argv[1]); -- if (fs) -- ext2fs_close_free(&fs); -- exit(1); -- } -- ext2fs_clear_feature_journal_needs_recovery(fs->super); -- ext2fs_mark_super_dirty(fs); -- } --#endif -- - free(device_name); - remove_error_table(&et_ext2_error_table); - -diff --git a/tests/t_replay_and_set/expect b/tests/t_replay_and_set/expect -index f4919372a..f63a73af5 100644 ---- a/tests/t_replay_and_set/expect -+++ b/tests/t_replay_and_set/expect -@@ -16,7 +16,7 @@ Pass 5: Checking group summary information - test_filesys: 11/16384 files (0.0% non-contiguous), 5164/65536 blocks - Exit status is 0 - debugfs write journal --disable metadata_csum on a dirty-journal fs -+set the label on a dirty-journal fs - Recovering journal. - fsck the whole mess - Pass 1: Checking inodes, blocks, and sizes -diff --git a/tests/t_replay_and_set/script b/tests/t_replay_and_set/script -index 0be10ea80..36411fcfe 100644 ---- a/tests/t_replay_and_set/script -+++ b/tests/t_replay_and_set/script -@@ -29,8 +29,8 @@ $DEBUGFS_EXE -w -f $TMPFILE.cmd $TMPFILE 2>> $OUT.new > /dev/null - sed -f $cmd_dir/filter.sed < $OUT.new >> $OUT - rm -rf $OUT.new - --echo "disable metadata_csum on a dirty-journal fs" >> $OUT --$TUNE2FS -O ^metadata_csum $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT 2>&1 -+echo "set the label on a dirty-journal fs" >> $OUT -+$TUNE2FS -L testing $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT 2>&1 - - echo "fsck the whole mess" >> $OUT - $FSCK -fy -N test_filesys $TMPFILE > $OUT.new 2>&1 --- -2.16.1.72.g5be1f00a9a -