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

Reply via email to