Control: tag -1 d-i On Sat, Aug 03, 2019 at 10:45:32PM -0400, Theodore Y. Ts'o wrote: > Thanks, Adam! My apologies for screwing up the first build/upload. > I've just pushed e2fsprogs/1.44.5-1+deb10u1. > > I've attached the debdiff below. > > - Ted > > diff -Nru e2fsprogs-1.44.5/debian/changelog e2fsprogs-1.44.5/debian/changelog > --- e2fsprogs-1.44.5/debian/changelog 2018-12-15 22:46:49.000000000 -0500 > +++ e2fsprogs-1.44.5/debian/changelog 2019-08-02 23:49:00.000000000 -0400 > @@ -1,3 +1,9 @@ > +e2fsprogs (1.44.5-1+deb10u1) buster; urgency=medium > + > + * Fix e4defrag crashes on 32-bit architectures (Closes: #920767) > + > + -- Theodore Y. Ts'o <ty...@mit.edu> Fri, 02 Aug 2019 23:49:00 -0400 > + > e2fsprogs (1.44.5-1) unstable; urgency=medium > > * New upstream version > diff -Nru e2fsprogs-1.44.5/debian/gbp.conf e2fsprogs-1.44.5/debian/gbp.conf > --- e2fsprogs-1.44.5/debian/gbp.conf 2018-12-15 22:46:49.000000000 -0500 > +++ e2fsprogs-1.44.5/debian/gbp.conf 2019-08-02 23:49:00.000000000 -0400 > @@ -1,4 +1,4 @@ > [DEFAULT] > pristine-tar = True > upstream-tag='v%(version)s' > -debian-branch=debian/master > +debian-branch=debian/stable > diff -Nru e2fsprogs-1.44.5/debian/.gitignore > e2fsprogs-1.44.5/debian/.gitignore > --- e2fsprogs-1.44.5/debian/.gitignore 1969-12-31 19:00:00.000000000 > -0500 > +++ e2fsprogs-1.44.5/debian/.gitignore 2019-08-02 23:49:00.000000000 > -0400 > @@ -0,0 +1 @@ > +!patches > diff -Nru > e2fsprogs-1.44.5/debian/patches/revert-e4defrag-use-64-bit-counters-to-t.patch > > e2fsprogs-1.44.5/debian/patches/revert-e4defrag-use-64-bit-counters-to-t.patch > --- > e2fsprogs-1.44.5/debian/patches/revert-e4defrag-use-64-bit-counters-to-t.patch > 1969-12-31 19:00:00.000000000 -0500 > +++ > e2fsprogs-1.44.5/debian/patches/revert-e4defrag-use-64-bit-counters-to-t.patch > 2019-08-02 23:49:00.000000000 -0400 > @@ -0,0 +1,66 @@ > +From: Theodore Ts'o <ty...@mit.edu> > +Date: Thu, 3 Jan 2019 22:27:37 -0500 > +X-Dgit-Generated: 1.44.5-1 622e62942104d357912480e49c5b5524588cf45f > +Subject: Revert "e4defrag: use 64-bit counters to track # files defragged" > + > +This reverts commit 3293ea9ecbe1d622f9cf6c41d705d82fbae6a3e3. > + > +This wasn't really the right fix, since there can't be more than 2**32 > +files in a file system. The real issue is when the number of files in > +a directory change during the e4defrag run. > + > +Signed-off-by: Theodore Ts'o <ty...@mit.edu> > + > +--- > + > +--- e2fsprogs-1.44.5.orig/misc/e4defrag.c > ++++ e2fsprogs-1.44.5/misc/e4defrag.c > +@@ -169,13 +169,13 @@ static int block_size; > + static int extents_before_defrag; > + static int extents_after_defrag; > + static int mode_flag; > +-static uid_t current_uid; > +-static unsigned long long defraged_file_count; > +-static unsigned long long frag_files_before_defrag; > +-static unsigned long long frag_files_after_defrag; > +-static unsigned long long regular_count; > +-static unsigned long long succeed_cnt; > +-static unsigned long long total_count; > ++static unsigned int current_uid; > ++static unsigned int defraged_file_count; > ++static unsigned int frag_files_before_defrag; > ++static unsigned int frag_files_after_defrag; > ++static unsigned int regular_count; > ++static unsigned int succeed_cnt; > ++static unsigned int total_count; > + static __u8 log_groups_per_flex; > + static __u32 blocks_per_group; > + static __u32 feature_incompat; > +@@ -1912,9 +1912,9 @@ int main(int argc, char *argv[]) > + } > + /* File tree walk */ > + nftw64(dir_name, file_defrag, FTW_OPEN_FD, flags); > +- printf("\n\tSuccess:\t\t\t[ %llu/%llu ]\n", > +- succeed_cnt, total_count); > +- printf("\tFailure:\t\t\t[ %llu/%llu ]\n", > ++ printf("\n\tSuccess:\t\t\t[ %u/%u ]\n", succeed_cnt, > ++ total_count); > ++ printf("\tFailure:\t\t\t[ %u/%u ]\n", > + total_count - succeed_cnt, total_count); > + if (mode_flag & DETAIL) { > + printf("\tTotal extents:\t\t\t%4d->%d\n", > +@@ -1923,10 +1923,12 @@ int main(int argc, char *argv[]) > + printf("\tFragmented percentage:\t\t" > + "%3llu%%->%llu%%\n", > + !regular_count ? 0 : > +- (frag_files_before_defrag * 100) / > ++ ((unsigned long long) > ++ frag_files_before_defrag * 100) / > + regular_count, > + !regular_count ? 0 : > +- (frag_files_after_defrag * 100) / > ++ ((unsigned long long) > ++ frag_files_after_defrag * 100) / > + regular_count); > + } > + break; > diff -Nru e2fsprogs-1.44.5/debian/patches/series > e2fsprogs-1.44.5/debian/patches/series > --- e2fsprogs-1.44.5/debian/patches/series 1969-12-31 19:00:00.000000000 > -0500 > +++ e2fsprogs-1.44.5/debian/patches/series 2019-08-02 23:49:00.000000000 > -0400 > @@ -0,0 +1 @@ > +revert-e4defrag-use-64-bit-counters-to-t.patch
As there's a udeb involved I will just check with the d-i release managers that this isn't an issue, though I can't see that fixing a crash would be all that controversial. Thanks, -- Jonathan Wiltshire j...@debian.org Debian Developer http://people.debian.org/~jmw 4096R: 0xD3524C51 / 0A55 B7C5 1223 3942 86EC 74C3 5394 479D D352 4C51